diff options
Diffstat (limited to 'external/meta-openembedded/meta-oe/recipes-devtools')
192 files changed, 4296 insertions, 4924 deletions
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Add-RISCV-support-to-GetProgramCounter.patch b/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Add-RISCV-support-to-GetProgramCounter.patch new file mode 100644 index 00000000..95ec070f --- /dev/null +++ b/external/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/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Fix-build-on-riscv32.patch b/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Fix-build-on-riscv32.patch new file mode 100644 index 00000000..e7c9b43c --- /dev/null +++ b/external/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/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Remove-maes-option-from-cross-compilation.patch b/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Remove-maes-option-from-cross-compilation.patch new file mode 100644 index 00000000..4c41cd89 --- /dev/null +++ b/external/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/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-absl-always-use-asm-sgidefs.h.patch b/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-absl-always-use-asm-sgidefs.h.patch new file mode 100644 index 00000000..6bb59d93 --- /dev/null +++ b/external/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/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0002-Add-forgotten-ABSL_HAVE_VDSO_SUPPORT-conditional.patch b/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0002-Add-forgotten-ABSL_HAVE_VDSO_SUPPORT-conditional.patch new file mode 100644 index 00000000..fab4a738 --- /dev/null +++ b/external/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/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0003-Add-fPIC-option.patch b/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0003-Add-fPIC-option.patch new file mode 100644 index 00000000..bb78813a --- /dev/null +++ b/external/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/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb b/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb new file mode 100644 index 00000000..e874e4a5 --- /dev/null +++ b/external/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/external/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf/android-gadget-setup b/external/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf/android-gadget-setup index f7d99737..26cf30ed 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf/android-gadget-setup +++ b/external/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf/android-gadget-setup @@ -1,11 +1,23 @@ #!/bin/sh +[ ! -e /dev/pts ] && mkdir -p /dev/pts +[ ! -e /dev/pts/0 ] && mount devpts /dev/pts -t devpts + # TODO enable the lines below once we have support for getprop # retrieve the product info from Android # manufacturer=$(getprop ro.product.manufacturer Android) # model=$(getprop ro.product.model Android) # serial=$(getprop ro.serialno 0123456789ABCDEF) +#below are now needed in order to use FunctionFS for ADB, tested to work with 3.4+ kernels +if grep -q functionfs /proc/filesystems; then + mkdir -p /dev/usb-ffs/adb + mount -t functionfs adb /dev/usb-ffs/adb + #android-gadget-setup doesn't provide below 2 and without them it won't work, so we provide them here. + echo adb > /sys/class/android_usb/android0/f_ffs/aliases + echo ffs > /sys/class/android_usb/android0/functions +fi + manufacturer="$(cat /system/build.prop | grep -o 'ro.product.manufacturer=.*' | cut -d'=' -f 2)" model="$(cat /system/build.prop | grep -o 'ro.product.model=.*' | cut -d'=' -f 2)" # get the device serial number from /proc/cmdline directly(since we have no getprop on @@ -17,7 +29,7 @@ echo $manufacturer > /sys/class/android_usb/android0/iManufacturer echo $model > /sys/class/android_usb/android0/iProduct echo "0" > /sys/class/android_usb/android0/enable -echo "18d1" > /sys/class/android_usbid_usb/android0/idVendor +echo "18d1" > /sys/class/android_usb/android0/idVendor echo "D002" > /sys/class/android_usb/android0/idProduct echo "adb" > /sys/class/android_usb/android0/functions echo "1" > /sys/class/android_usb/android0/enable diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/core/0013-adb-Support-riscv64.patch b/external/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/core/0013-adb-Support-riscv64.patch new file mode 100644 index 00000000..a8434afb --- /dev/null +++ b/external/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/external/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/core/adb_libssl_11.diff b/external/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/core/adb_libssl_11.diff new file mode 100644 index 00000000..3ead649b --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/core/adb_libssl_11.diff @@ -0,0 +1,39 @@ +Description: adb: Make compatible with openssl 1.1 + OpenSSL version 1.1 brought some API changes which broke the build here, + fix that by accessing rsa->n (and e) directly, using RSA_get0_key instead. +Author: Chirayu Desai <chirayudesai1@gmail.com +Last-Update: 2016-11-10 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- + system/core/adb/adb_auth_host.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +--- a/adb/adb_auth_host.c ++++ b/adb/adb_auth_host.c +@@ -75,6 +75,7 @@ static int RSA_to_RSAPublicKey(RSA *rsa, + BIGNUM* rem = BN_new(); + BIGNUM* n = BN_new(); + BIGNUM* n0inv = BN_new(); ++ BIGNUM* e = BN_new(); + + if (RSA_size(rsa) != RSANUMBYTES) { + ret = 0; +@@ -82,7 +83,7 @@ static int RSA_to_RSAPublicKey(RSA *rsa, + } + + BN_set_bit(r32, 32); +- BN_copy(n, rsa->n); ++ RSA_get0_key(rsa, &n, &e, NULL); + BN_set_bit(r, RSANUMWORDS * 32); + BN_mod_sqr(rr, r, n, ctx); + BN_div(NULL, rem, n, r32, ctx); +@@ -96,7 +97,7 @@ static int RSA_to_RSAPublicKey(RSA *rsa, + BN_div(n, rem, n, r32, ctx); + pkey->n[i] = BN_get_word(rem); + } +- pkey->exponent = BN_get_word(rsa->e); ++ pkey->exponent = BN_get_word(e); + + out: + BN_free(n0inv); diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/libselinux/0001-libselinux-Do-not-define-gettid-if-glibc-2.30-is-use.patch b/external/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/libselinux/0001-libselinux-Do-not-define-gettid-if-glibc-2.30-is-use.patch new file mode 100644 index 00000000..8524517c --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/libselinux/0001-libselinux-Do-not-define-gettid-if-glibc-2.30-is-use.patch @@ -0,0 +1,52 @@ +From f4f9d24860e1b5cd4f6a014f3fda7cd33ebe5be7 Mon Sep 17 00:00:00 2001 +From: Petr Lautrbach <plautrba@redhat.com> +Date: Sat, 27 Jul 2019 08:20:20 -0700 +Subject: [PATCH] libselinux: Do not define gettid() if glibc >= 2.30 is used +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Since version 2.30 glibc implements gettid() system call wrapper, see +https://sourceware.org/bugzilla/show_bug.cgi?id=6399 + +Fixes: +cc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I../include -D_GNU_SOURCE -DNO_ANDROID_BACKEND -c -o procattr.o procattr.c +procattr.c:28:14: error: static declaration of ‘gettid’ follows non-static declaration + 28 | static pid_t gettid(void) + | ^~~~~~ +In file included from /usr/include/unistd.h:1170, + from procattr.c:2: +/usr/include/bits/unistd_ext.h:34:16: note: previous declaration of ‘gettid’ was here + 34 | extern __pid_t gettid (void) __THROW; + | ^~~~~~ + +Signed-off-by: Petr Lautrbach <plautrba@redhat.com> +Acked-by: Stephen Smalley <sds@tycho.nsa.gov> +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/procattr.c | 14 +++++++++++++- + 1 file changed, 13 insertions(+), 1 deletion(-) + +--- a/src/procattr.c ++++ b/src/procattr.c +@@ -8,7 +8,19 @@ + #include "selinux_internal.h" + #include "policy.h" + +-#ifndef __BIONIC__ ++/* Bionic and glibc >= 2.30 declare gettid() system call wrapper in unistd.h and ++ * has a definition for it */ ++#ifdef __BIONIC__ ++ #define OVERRIDE_GETTID 0 ++#elif !defined(__GLIBC_PREREQ) ++ #define OVERRIDE_GETTID 1 ++#elif !__GLIBC_PREREQ(2,29) ++ #define OVERRIDE_GETTID 1 ++#else ++ #define OVERRIDE_GETTID 0 ++#endif ++ ++#if OVERRIDE_GETTID + static pid_t gettid(void) + { + return syscall(__NR_gettid); diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb b/external/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb index 2604f65e..fb6125e2 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb +++ b/external/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb @@ -4,11 +4,11 @@ LICENSE = "Apache-2.0 & GPL-2.0 & BSD-2-Clause & BSD-3-Clause" LIC_FILES_CHKSUM = " \ file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10 \ file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 \ - file://${COMMON_LICENSE_DIR}/BSD-2-Clause;md5=8bef8e6712b1be5aa76af1ebde9d6378 \ + file://${COMMON_LICENSE_DIR}/BSD-2-Clause;md5=cb641bc04cda31daea161b1bc15da69f \ file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9 \ " DEPENDS = "libbsd libpcre zlib libcap" -DEPENDS_append_class-target = " openssl10" +DEPENDS_append_class-target = " openssl" ANDROID_MIRROR = "android.googlesource.com" @@ -37,10 +37,14 @@ SRC_URI = " \ file://core/0010-Use-linux-capability.h-on-linux-systems-too.patch;patchdir=system/core \ 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} \ @@ -57,6 +61,10 @@ B = "${WORKDIR}/${BPN}" ARM_INSTRUCTION_SET_armv4 = "arm" ARM_INSTRUCTION_SET_armv5 = "arm" +COMPATIBLE_HOST_powerpc = "(null)" +COMPATIBLE_HOST_powerpc64 = "(null)" +COMPATIBLE_HOST_powerpc64le = "(null)" + inherit systemd SYSTEMD_SERVICE_${PN} = "android-tools-adbd.service" @@ -88,13 +96,19 @@ do_compile() { aarch64) export android_arch=linux-arm64 ;; + riscv64) + export android_arch=linux-riscv64 + ;; mips|mipsel) export android_arch=linux-mips ;; + mips64|mips64el) + export android_arch=linux-mips64 + ;; powerpc|powerpc64) export android_arch=linux-ppc ;; - i586|x86_64) + i586|i686|x86_64) export android_arch=linux-x86 ;; esac diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/autoconf-2.13/autoconf-2.13-native_2.13.bb b/external/meta-openembedded/meta-oe/recipes-devtools/autoconf-2.13/autoconf-2.13-native_2.13.bb new file mode 100644 index 00000000..a54a7331 --- /dev/null +++ b/external/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/external/meta-openembedded/meta-oe/recipes-devtools/autoconf-2.13/autoconf-2.13/0001-Add-config.guess-config.sub-install-to-destdir.patch b/external/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 00000000..f6e9ecb9 --- /dev/null +++ b/external/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/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Do-not-add-stack-pointer-to-clobber-list.patch b/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Do-not-add-stack-pointer-to-clobber-list.patch new file mode 100644 index 00000000..6e584909 --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Do-not-add-stack-pointer-to-clobber-list.patch @@ -0,0 +1,61 @@ +From 5c63eb5d56abd4e5232add4727247965a863d851 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sun, 15 Dec 2019 14:02:45 -0800 +Subject: [PATCH] Do not add stack pointer to clobber list + +It was being ignored until now when gcc 9.0 became capable +of flagging these silent ignore via [1]. + +We weren't actually clobbering the stack pointers here +so it should not cause change in behavior. + +[1] https://gcc.gnu.org/PR52813 + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + linux_syscall_support.h | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/linux_syscall_support.h b/linux_syscall_support.h +index 9276f56..6e73309 100644 +--- a/linux_syscall_support.h ++++ b/linux_syscall_support.h +@@ -1955,7 +1955,7 @@ struct kernel_statfs { + LSS_ENTRYPOINT \ + "pop %%ebx" \ + args \ +- : "esp", "memory"); \ ++ : "memory"); \ + LSS_RETURN(type,__res) + #undef _syscall0 + #define _syscall0(type,name) \ +@@ -2012,7 +2012,7 @@ struct kernel_statfs { + : "i" (__NR_##name), "ri" ((long)(arg1)), \ + "c" ((long)(arg2)), "d" ((long)(arg3)), \ + "S" ((long)(arg4)), "D" ((long)(arg5)) \ +- : "esp", "memory"); \ ++ : "memory"); \ + LSS_RETURN(type,__res); \ + } + #undef _syscall6 +@@ -2034,7 +2034,7 @@ struct kernel_statfs { + : "i" (__NR_##name), "0" ((long)(&__s)), \ + "c" ((long)(arg2)), "d" ((long)(arg3)), \ + "S" ((long)(arg4)), "D" ((long)(arg5)) \ +- : "esp", "memory"); \ ++ : "memory"); \ + LSS_RETURN(type,__res); \ + } + LSS_INLINE int LSS_NAME(clone)(int (*fn)(void *), void *child_stack, +@@ -2120,7 +2120,7 @@ struct kernel_statfs { + : "0"(-EINVAL), "i"(__NR_clone), + "m"(fn), "m"(child_stack), "m"(flags), "m"(arg), + "m"(parent_tidptr), "m"(newtls), "m"(child_tidptr) +- : "esp", "memory", "ecx", "edx", "esi", "edi"); ++ : "memory", "ecx", "edx", "esi", "edi"); + LSS_RETURN(int, __res); + } + +-- +2.24.1 + diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Replace-use-of-struct-ucontext-with-ucontext_t.patch b/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Replace-use-of-struct-ucontext-with-ucontext_t.patch deleted file mode 100644 index 07cb8a36..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Replace-use-of-struct-ucontext-with-ucontext_t.patch +++ /dev/null @@ -1,242 +0,0 @@ -From b90c8f3b60bfe5dbed2823620242e9d30b9eb28f Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Wed, 28 Jun 2017 19:01:18 -0700 -Subject: [PATCH] Replace use of struct ucontext with ucontext_t - -glibc 2.26 would not expose struct ucontext anymore - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- -Upstream-Status: Pending - - .../linux/dump_writer_common/ucontext_reader.cc | 32 +++++++++++----------- - .../linux/dump_writer_common/ucontext_reader.h | 14 +++++----- - src/client/linux/handler/exception_handler.cc | 10 +++---- - src/client/linux/handler/exception_handler.h | 4 +-- - .../linux/microdump_writer/microdump_writer.cc | 2 +- - .../linux/minidump_writer/minidump_writer.cc | 2 +- - 6 files changed, 32 insertions(+), 32 deletions(-) - -diff --git a/src/client/linux/dump_writer_common/ucontext_reader.cc b/src/client/linux/dump_writer_common/ucontext_reader.cc -index c80724dd..052ce37c 100644 ---- a/src/client/linux/dump_writer_common/ucontext_reader.cc -+++ b/src/client/linux/dump_writer_common/ucontext_reader.cc -@@ -36,19 +36,19 @@ namespace google_breakpad { - - // Minidump defines register structures which are different from the raw - // structures which we get from the kernel. These are platform specific --// functions to juggle the ucontext and user structures into minidump format. -+// functions to juggle the ucontext_t and user structures into minidump format. - - #if defined(__i386__) - --uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) { -+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { - return uc->uc_mcontext.gregs[REG_ESP]; - } - --uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) { -+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { - return uc->uc_mcontext.gregs[REG_EIP]; - } - --void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc, -+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc, - const struct _libc_fpstate* fp) { - const greg_t* regs = uc->uc_mcontext.gregs; - -@@ -88,15 +88,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc, - - #elif defined(__x86_64) - --uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) { -+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { - return uc->uc_mcontext.gregs[REG_RSP]; - } - --uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) { -+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { - return uc->uc_mcontext.gregs[REG_RIP]; - } - --void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc, -+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc, - const struct _libc_fpstate* fpregs) { - const greg_t* regs = uc->uc_mcontext.gregs; - -@@ -145,15 +145,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc, - - #elif defined(__ARM_EABI__) - --uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) { -+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { - return uc->uc_mcontext.arm_sp; - } - --uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) { -+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { - return uc->uc_mcontext.arm_pc; - } - --void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) { -+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) { - out->context_flags = MD_CONTEXT_ARM_FULL; - - out->iregs[0] = uc->uc_mcontext.arm_r0; -@@ -184,15 +184,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) { - - #elif defined(__aarch64__) - --uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) { -+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { - return uc->uc_mcontext.sp; - } - --uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) { -+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { - return uc->uc_mcontext.pc; - } - --void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc, -+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc, - const struct fpsimd_context* fpregs) { - out->context_flags = MD_CONTEXT_ARM64_FULL; - -@@ -210,15 +210,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc, - - #elif defined(__mips__) - --uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) { -+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { - return uc->uc_mcontext.gregs[MD_CONTEXT_MIPS_REG_SP]; - } - --uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) { -+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { - return uc->uc_mcontext.pc; - } - --void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) { -+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) { - #if _MIPS_SIM == _ABI64 - out->context_flags = MD_CONTEXT_MIPS64_FULL; - #elif _MIPS_SIM == _ABIO32 -diff --git a/src/client/linux/dump_writer_common/ucontext_reader.h b/src/client/linux/dump_writer_common/ucontext_reader.h -index b6e77b4b..2de80b70 100644 ---- a/src/client/linux/dump_writer_common/ucontext_reader.h -+++ b/src/client/linux/dump_writer_common/ucontext_reader.h -@@ -39,23 +39,23 @@ - - namespace google_breakpad { - --// Wraps platform-dependent implementations of accessors to ucontext structs. -+// Wraps platform-dependent implementations of accessors to ucontext_t structs. - struct UContextReader { -- static uintptr_t GetStackPointer(const struct ucontext* uc); -+ static uintptr_t GetStackPointer(const ucontext_t* uc); - -- static uintptr_t GetInstructionPointer(const struct ucontext* uc); -+ static uintptr_t GetInstructionPointer(const ucontext_t* uc); - -- // Juggle a arch-specific ucontext into a minidump format -+ // Juggle a arch-specific ucontext_t into a minidump format - // out: the minidump structure - // info: the collection of register structures. - #if defined(__i386__) || defined(__x86_64) -- static void FillCPUContext(RawContextCPU *out, const ucontext *uc, -+ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc, - const struct _libc_fpstate* fp); - #elif defined(__aarch64__) -- static void FillCPUContext(RawContextCPU *out, const ucontext *uc, -+ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc, - const struct fpsimd_context* fpregs); - #else -- static void FillCPUContext(RawContextCPU *out, const ucontext *uc); -+ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc); - #endif - }; - -diff --git a/src/client/linux/handler/exception_handler.cc b/src/client/linux/handler/exception_handler.cc -index 586d84e9..05936d28 100644 ---- a/src/client/linux/handler/exception_handler.cc -+++ b/src/client/linux/handler/exception_handler.cc -@@ -457,9 +457,9 @@ bool ExceptionHandler::HandleSignal(int /*sig*/, siginfo_t* info, void* uc) { - // Fill in all the holes in the struct to make Valgrind happy. - memset(&g_crash_context_, 0, sizeof(g_crash_context_)); - memcpy(&g_crash_context_.siginfo, info, sizeof(siginfo_t)); -- memcpy(&g_crash_context_.context, uc, sizeof(struct ucontext)); -+ memcpy(&g_crash_context_.context, uc, sizeof(ucontext_t)); - #if defined(__aarch64__) -- struct ucontext* uc_ptr = (struct ucontext*)uc; -+ ucontext_t* uc_ptr = (ucontext_t*)uc; - struct fpsimd_context* fp_ptr = - (struct fpsimd_context*)&uc_ptr->uc_mcontext.__reserved; - if (fp_ptr->head.magic == FPSIMD_MAGIC) { -@@ -468,9 +468,9 @@ bool ExceptionHandler::HandleSignal(int /*sig*/, siginfo_t* info, void* uc) { - } - #elif !defined(__ARM_EABI__) && !defined(__mips__) - // FP state is not part of user ABI on ARM Linux. -- // In case of MIPS Linux FP state is already part of struct ucontext -+ // In case of MIPS Linux FP state is already part of ucontext_t - // and 'float_state' is not a member of CrashContext. -- struct ucontext* uc_ptr = (struct ucontext*)uc; -+ ucontext_t* uc_ptr = (ucontext_t*)uc; - if (uc_ptr->uc_mcontext.fpregs) { - memcpy(&g_crash_context_.float_state, uc_ptr->uc_mcontext.fpregs, - sizeof(g_crash_context_.float_state)); -@@ -494,7 +494,7 @@ bool ExceptionHandler::SimulateSignalDelivery(int sig) { - // ExceptionHandler::HandleSignal(). - siginfo.si_code = SI_USER; - siginfo.si_pid = getpid(); -- struct ucontext context; -+ ucontext_t context; - getcontext(&context); - return HandleSignal(sig, &siginfo, &context); - } -diff --git a/src/client/linux/handler/exception_handler.h b/src/client/linux/handler/exception_handler.h -index daba57e0..25598a29 100644 ---- a/src/client/linux/handler/exception_handler.h -+++ b/src/client/linux/handler/exception_handler.h -@@ -191,11 +191,11 @@ class ExceptionHandler { - struct CrashContext { - siginfo_t siginfo; - pid_t tid; // the crashing thread. -- struct ucontext context; -+ ucontext_t context; - #if !defined(__ARM_EABI__) && !defined(__mips__) - // #ifdef this out because FP state is not part of user ABI for Linux ARM. - // In case of MIPS Linux FP state is already part of struct -- // ucontext so 'float_state' is not required. -+ // ucontext_t so 'float_state' is not required. - fpstate_t float_state; - #endif - }; -diff --git a/src/client/linux/microdump_writer/microdump_writer.cc b/src/client/linux/microdump_writer/microdump_writer.cc -index 3764eec2..80ad5c46 100644 ---- a/src/client/linux/microdump_writer/microdump_writer.cc -+++ b/src/client/linux/microdump_writer/microdump_writer.cc -@@ -593,7 +593,7 @@ class MicrodumpWriter { - - void* Alloc(unsigned bytes) { return dumper_->allocator()->Alloc(bytes); } - -- const struct ucontext* const ucontext_; -+ const ucontext_t* const ucontext_; - #if !defined(__ARM_EABI__) && !defined(__mips__) - const google_breakpad::fpstate_t* const float_state_; - #endif -diff --git a/src/client/linux/minidump_writer/minidump_writer.cc b/src/client/linux/minidump_writer/minidump_writer.cc -index d11ba6e5..c7161434 100644 ---- a/src/client/linux/minidump_writer/minidump_writer.cc -+++ b/src/client/linux/minidump_writer/minidump_writer.cc -@@ -1323,7 +1323,7 @@ class MinidumpWriter { - const int fd_; // File descriptor where the minidum should be written. - const char* path_; // Path to the file where the minidum should be written. - -- const struct ucontext* const ucontext_; // also from the signal handler -+ const ucontext_t* const ucontext_; // also from the signal handler - #if !defined(__ARM_EABI__) && !defined(__mips__) - const google_breakpad::fpstate_t* const float_state_; // ditto - #endif --- -2.13.2 - diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-disable-calls-to-getcontext-with-musl.patch b/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-disable-calls-to-getcontext-with-musl.patch index bc79727e..466abe5f 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-disable-calls-to-getcontext-with-musl.patch +++ b/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-disable-calls-to-getcontext-with-musl.patch @@ -8,11 +8,9 @@ Signed-off-by: Andre McCurdy <armccurdy@gmail.com> src/client/linux/handler/exception_handler.cc | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) -Index: git/src/client/linux/handler/exception_handler.cc -=================================================================== ---- git.orig/src/client/linux/handler/exception_handler.cc -+++ git/src/client/linux/handler/exception_handler.cc -@@ -495,7 +495,19 @@ bool ExceptionHandler::SimulateSignalDel +--- a/src/client/linux/handler/exception_handler.cc ++++ b/src/client/linux/handler/exception_handler.cc +@@ -490,7 +490,19 @@ bool ExceptionHandler::SimulateSignalDel siginfo.si_code = SI_USER; siginfo.si_pid = getpid(); ucontext_t context; @@ -32,7 +30,7 @@ Index: git/src/client/linux/handler/exception_handler.cc return HandleSignal(sig, &siginfo, &context); } -@@ -680,9 +692,14 @@ bool ExceptionHandler::WriteMinidump() { +@@ -675,9 +687,14 @@ bool ExceptionHandler::WriteMinidump() { sys_prctl(PR_SET_DUMPABLE, 1, 0, 0, 0); CrashContext context; diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-lss-Match-syscalls-to-match-musl.patch b/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-lss-Match-syscalls-to-match-musl.patch index 2b892ad6..bdd787af 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-lss-Match-syscalls-to-match-musl.patch +++ b/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-lss-Match-syscalls-to-match-musl.patch @@ -8,11 +8,9 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> linux_syscall_support.h | 3 +++ 1 file changed, 3 insertions(+) -Index: lss/linux_syscall_support.h -=================================================================== ---- lss.orig/linux_syscall_support.h -+++ lss/linux_syscall_support.h -@@ -793,6 +793,9 @@ struct kernel_statfs { +--- a/linux_syscall_support.h ++++ b/linux_syscall_support.h +@@ -816,6 +816,9 @@ struct kernel_statfs { #define FUTEX_TRYLOCK_PI_PRIVATE (FUTEX_TRYLOCK_PI | FUTEX_PRIVATE_FLAG) #endif @@ -22,7 +20,7 @@ Index: lss/linux_syscall_support.h #if defined(__x86_64__) #ifndef ARCH_SET_GS -@@ -924,6 +927,7 @@ struct kernel_statfs { +@@ -947,6 +950,7 @@ struct kernel_statfs { #ifndef __NR_fallocate #define __NR_fallocate 324 #endif @@ -30,7 +28,7 @@ Index: lss/linux_syscall_support.h /* End of i386 definitions */ #elif defined(__ARM_ARCH_3__) || defined(__ARM_EABI__) #ifndef __NR_setresuid -@@ -1211,6 +1215,12 @@ struct kernel_statfs { +@@ -1239,6 +1243,12 @@ struct kernel_statfs { #ifndef __NR_fallocate #define __NR_fallocate 285 #endif @@ -43,3 +41,16 @@ Index: lss/linux_syscall_support.h /* End of x86-64 definitions */ #elif defined(__mips__) #if _MIPS_SIM == _MIPS_SIM_ABI32 +@@ -1418,6 +1428,12 @@ struct kernel_statfs { + #ifndef __NR_ioprio_get + #define __NR_ioprio_get (__NR_Linux + 274) + #endif ++ ++#undef __NR_pread ++#define __NR_pread __NR_pread64 ++#undef __NR_pwrite ++#define __NR_pwrite __NR_pwrite64 ++ + /* End of MIPS (64bit API) definitions */ + #else + #ifndef __NR_setresuid diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-Avoid-using-basename.patch b/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-Avoid-using-basename.patch deleted file mode 100644 index bc628298..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-Avoid-using-basename.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 806964f852773e427fea82a7716d44ce3be4498c Mon Sep 17 00:00:00 2001 -From: Felix Janda <felix.janda@posteo.de> -Date: Sun, 1 Feb 2015 14:27:32 +0100 -Subject: [PATCH 2/3] Avoid using basename - ---- - src/common/linux/dump_symbols.cc | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/common/linux/dump_symbols.cc b/src/common/linux/dump_symbols.cc -index d029ca14..6ac4a17b 100644 ---- a/src/common/linux/dump_symbols.cc -+++ b/src/common/linux/dump_symbols.cc -@@ -881,9 +881,9 @@ const char* ElfArchitecture(const typename ElfClass::Ehdr* elf_header) { - // last slash, or the whole filename if there are no slashes. - string BaseFileName(const string &filename) { - // Lots of copies! basename's behavior is less than ideal. -- char* c_filename = strdup(filename.c_str()); -- string base = basename(c_filename); -- free(c_filename); -+ const char *c_filename = filename.c_str(); -+ const char *p = strrchr(c_filename, '/'); -+ string base = p ? p+1 : c_filename; - return base; - } - --- -2.14.1 - diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0005-md2core-Replace-basename.patch b/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0005-md2core-Replace-basename.patch deleted file mode 100644 index 852c1ed2..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0005-md2core-Replace-basename.patch +++ /dev/null @@ -1,38 +0,0 @@ -From bbf2b5ed5d93b227df8aea5726727b48e29f6790 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Thu, 14 Sep 2017 23:35:40 -0700 -Subject: [PATCH 5/5] md2core: Replace basename() - -musl does not provide it - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - src/tools/linux/md2core/minidump-2-core.cc | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/src/tools/linux/md2core/minidump-2-core.cc b/src/tools/linux/md2core/minidump-2-core.cc -index 6a9e28eb..52b81c22 100644 ---- a/src/tools/linux/md2core/minidump-2-core.cc -+++ b/src/tools/linux/md2core/minidump-2-core.cc -@@ -107,6 +107,9 @@ struct Options { - - static void - Usage(int argc, const char* argv[]) { -+ const char *c_filename = argv[0];; -+ const char *p = strrchr(c_filename, '/'); -+ const char *base = p ? p+1 : c_filename; - fprintf(stderr, - "Usage: %s [options] <minidump file>\n" - "\n" -@@ -133,7 +136,7 @@ Usage(int argc, const char* argv[]) { - " lookups to be done in this directory rather than the filesystem\n" - " layout as it exists in the crashing image. This path should end\n" - " with a slash if it's a directory. e.g. /var/lib/breakpad/\n" -- "", basename(argv[0])); -+ "", base); - } - - static void --- -2.14.1 - diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/mcontext.patch b/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/mcontext.patch index 42e073b9..51393967 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/mcontext.patch +++ b/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/mcontext.patch @@ -3,48 +3,6 @@ map the mcontext_t structure for musl Upstream-Status: Inappropriate[need to consider Android] Signed-off-by: Khem Raj <raj.khem@gmail.com> -Index: git/src/client/linux/dump_writer_common/thread_info.cc -=================================================================== ---- git.orig/src/client/linux/dump_writer_common/thread_info.cc -+++ git/src/client/linux/dump_writer_common/thread_info.cc -@@ -229,7 +229,6 @@ void ThreadInfo::FillCPUContext(RawConte - } - - #elif defined(__mips__) -- - uintptr_t ThreadInfo::GetInstructionPointer() const { - return mcontext.pc; - } -@@ -263,8 +262,11 @@ void ThreadInfo::FillCPUContext(RawConte - out->cause = 0; // Not stored in mcontext - - for (int i = 0; i < MD_FLOATINGSAVEAREA_MIPS_FPR_COUNT; ++i) -+#ifdef __GLIBC__ - out->float_save.regs[i] = mcontext.fpregs.fp_r.fp_fregs[i]._fp_fregs; -- -+#else -+ out->float_save.regs[i] = mcontext.fpregs[i]; -+#endif - out->float_save.fpcsr = mcontext.fpc_csr; - #if _MIPS_SIM == _ABIO32 - out->float_save.fir = mcontext.fpc_eir; -Index: git/src/client/linux/dump_writer_common/ucontext_reader.cc -=================================================================== ---- git.orig/src/client/linux/dump_writer_common/ucontext_reader.cc -+++ git/src/client/linux/dump_writer_common/ucontext_reader.cc -@@ -247,8 +247,11 @@ void UContextReader::FillCPUContext(RawC - out->cause = 0; // Not reported in signal context. - - for (int i = 0; i < MD_FLOATINGSAVEAREA_MIPS_FPR_COUNT; ++i) -+#ifdef __GLIBC__ - out->float_save.regs[i] = uc->uc_mcontext.fpregs.fp_r.fp_dregs[i]; -- -+#else -+ out->float_save.regs[i] = uc->uc_mcontext.fpregs[i]; -+#endif - out->float_save.fpcsr = uc->uc_mcontext.fpc_csr; - #if _MIPS_SIM == _ABIO32 - out->float_save.fir = uc->uc_mcontext.fpc_eir; // Unused. Index: git/src/client/linux/minidump_writer/linux_core_dumper.cc =================================================================== --- git.orig/src/client/linux/minidump_writer/linux_core_dumper.cc @@ -58,20 +16,3 @@ Index: git/src/client/linux/minidump_writer/linux_core_dumper.cc for (int i = EF_R0; i <= EF_R31; i++) info.mcontext.gregs[i - EF_R0] = status->pr_reg[i]; #else // __ANDROID__ -Index: git/src/tools/linux/md2core/minidump-2-core.cc -=================================================================== ---- git.orig/src/tools/linux/md2core/minidump-2-core.cc -+++ git/src/tools/linux/md2core/minidump-2-core.cc -@@ -516,8 +516,12 @@ ParseThreadRegisters(CrashedProcess::Thr - thread->mcontext.lo3 = rawregs->lo[2]; - - for (int i = 0; i < MD_FLOATINGSAVEAREA_MIPS_FPR_COUNT; ++i) { -+#ifdef __GLIBC__ - thread->mcontext.fpregs.fp_r.fp_fregs[i]._fp_fregs = - rawregs->float_save.regs[i]; -+#else -+ thread->mcontext.fpregs[i] = rawregs->float_save.regs[i]; -+#endif - } - - thread->mcontext.fpc_csr = rawregs->float_save.fpcsr; diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb b/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb index d9773c9a..daf262ed 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb +++ b/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb @@ -13,16 +13,17 @@ inherit autotools BBCLASSEXTEND = "native" -PE = "1" +PE = "2" -PV = "1.0+git${SRCPV}" +PV = "1.0" SRCREV_FORMAT = "breakpad_gtest_protobuf_lss_gyp" -SRCREV_breakpad = "dea867e76f24e4a68395684b9d1cf24bcef82f20" -SRCREV_gtest = "ec44c6c1675c25b9827aacd08c02433cccde7780" +SRCREV_breakpad = "0c0e24f709288a129d665ec27d6f089189318385" +#v1.10.0 +SRCREV_gtest = "5ec7f0c4a113e2f18ac2c6cc7df51ad6afc24081" SRCREV_protobuf = "cb6dd4ef5f82e41e06179dcd57d3b1d9246ad6ac" -SRCREV_lss = "a91633d172407f6c83dd69af11510b37afebb7f9" +SRCREV_lss = "8048ece6c16c91acfe0d36d1d3cc0890ab6e945c" SRCREV_gyp = "324dd166b7c0b39d513026fa52d6280ac6d56770" SRC_URI = "git://github.com/google/breakpad;name=breakpad \ @@ -30,26 +31,26 @@ SRC_URI = "git://github.com/google/breakpad;name=breakpad \ git://github.com/google/protobuf.git;destsuffix=git/src/third_party/protobuf/protobuf;name=protobuf \ git://chromium.googlesource.com/linux-syscall-support;protocol=https;destsuffix=git/src/third_party/lss;name=lss \ git://chromium.googlesource.com/external/gyp;protocol=https;destsuffix=git/src/tools/gyp;name=gyp \ - file://0001-Replace-use-of-struct-ucontext-with-ucontext_t.patch \ file://0001-include-sys-reg.h-to-get-__WORDSIZE-on-musl-libc.patch \ - file://0002-Avoid-using-basename.patch \ file://0003-Fix-conflict-between-musl-libc-dirent.h-and-lss.patch \ file://0001-Turn-off-sign-compare-for-musl-libc.patch \ file://0002-sys-signal.h-is-a-nonportable-alias-for-signal.h.patch \ file://0003-Dont-include-stab.h.patch \ file://0004-elf_reader.cc-include-sys-reg.h-to-get-__WORDSIZE-on.patch \ - file://0005-md2core-Replace-basename.patch \ file://0002-Use-_fpstate-instead-of-_libc_fpstate-on-linux.patch \ file://mcontext.patch \ file://0001-disable-calls-to-getcontext-with-musl.patch \ file://0001-lss-Match-syscalls-to-match-musl.patch;patchdir=src/third_party/lss \ file://mips_asm_sgidefs.patch;patchdir=src/third_party/lss \ + file://0001-Do-not-add-stack-pointer-to-clobber-list.patch;patchdir=src/third_party/lss \ " S = "${WORKDIR}/git" CXXFLAGS += "-D_GNU_SOURCE" -COMPATIBLE_MACHINE_powerpc = "(!.*ppc).*" +COMPATIBLE_HOST_powerpc = "null" +COMPATIBLE_HOST_riscv64 = "null" +COMPATIBLE_HOST_riscv32 = "null" do_install_append() { install -d ${D}${includedir} @@ -72,7 +73,7 @@ do_install_append() { install -m 0644 ${S}/src/client/linux/minidump_writer/minidump_writer.h ${D}${includedir}/breakpad/client/linux/minidump_writer/minidump_writer.h install -d ${D}${includedir}/breakpad/common - install -m 0644 ${S}/src/common/memory.h ${D}${includedir}/breakpad/common/memory.h + install -m 0644 ${S}/src/common/memory_allocator.h ${D}${includedir}/breakpad/common/memory_allocator.h install -m 0644 ${S}/src/common/scoped_ptr.h ${D}${includedir}/breakpad/common/scoped_ptr.h install -m 0644 ${S}/src/common/using_std_string.h ${D}${includedir}/breakpad/common/using_std_string.h @@ -120,4 +121,7 @@ breakpad_populate_sysroot() { #| {standard input}:2184: Error: Thumb does not support this addressing mode -- `str r6,[r1,#-4]!' #| {standard input}:2191: Error: lo register required -- `ldr pc,[sp]' #| make: *** [src/client/linux/handler/exception_handler.o] Error 1 -ARM_INSTRUCTION_SET = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm" +ARM_INSTRUCTION_SET_armv4 = "arm" + +TOOLCHAIN = "gcc" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.6.1.bb b/external/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.7.0.bb index 6ca3613d..c6bab5ec 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.6.1.bb +++ b/external/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.7.0.bb @@ -3,10 +3,10 @@ DESCRIPTION = "Cap’n Proto is an insanely fast data interchange format and cap HOMEPAGE = "https://github.com/sandstorm-io/capnproto" SECTION = "console/tools" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://../LICENSE;md5=0a5b5b742baf10cc1c158579eba7fb1d" +LIC_FILES_CHKSUM = "file://../LICENSE;md5=a05663ae6cca874123bf667a60dca8c9" SRC_URI = "git://github.com/sandstorm-io/capnproto.git;branch=release-${PV}" -SRCREV = "c949a18da5f041a36cc218c5c4b79c7705999b4f" +SRCREV = "3f44c6db0f0f6c0cab0633f15f15d0a2acd01d19" S = "${WORKDIR}/git/c++" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb/0001-Avoid-use-of-mips-which-is-reserved-on-mips.patch b/external/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb/0001-Avoid-use-of-mips-which-is-reserved-on-mips.patch new file mode 100644 index 00000000..daf90ad4 --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb/0001-Avoid-use-of-mips-which-is-reserved-on-mips.patch @@ -0,0 +1,67 @@ +From a3eba0fcee5e96ef47a6d3fac7196a1074f0dc17 Mon Sep 17 00:00:00 2001 +From: Adrian Bunk <bunk@stusta.de> +Date: Wed, 30 Oct 2019 11:07:23 +0200 +Subject: Avoid use of "mips" which is reserved on mips + +Upstream-Status: Submitted [https://github.com/brasko/gdbwire/pull/9] + +Signed-off-by: Adrian Bunk <bunk@stusta.de> + +diff --git a/src/gdbwire_mi_parser.c b/src/gdbwire_mi_parser.c +index 3f6b563..24aa0cf 100644 +--- a/lib/tgdb/gdbwire.c ++++ b/lib/tgdb/gdbwire.c +@@ -40,7 +40,7 @@ struct gdbwire_mi_parser { + /* The GDB/MI lexer state */ + yyscan_t mils; + /* The GDB/MI push parser state */ +- gdbwire_mi_pstate *mips; ++ gdbwire_mi_pstate *mipst; + /* The client parser callbacks */ + struct gdbwire_mi_parser_callbacks callbacks; + }; +@@ -71,8 +71,8 @@ gdbwire_mi_parser_create(struct gdbwire_mi_parser_callbacks callbacks) + } + + /* Create a new push parser state instance */ +- parser->mips = gdbwire_mi_pstate_new(); +- if (!parser->mips) { ++ parser->mipst = gdbwire_mi_pstate_new(); ++ if (!parser->mipst) { + gdbwire_mi_lex_destroy(parser->mils); + gdbwire_string_destroy(parser->buffer); + free(parser); +@@ -81,7 +81,7 @@ gdbwire_mi_parser_create(struct gdbwire_mi_parser_callbacks callbacks) + + /* Ensure that the callbacks are non null */ + if (!callbacks.gdbwire_mi_output_callback) { +- gdbwire_mi_pstate_delete(parser->mips); ++ gdbwire_mi_pstate_delete(parser->mipst); + gdbwire_mi_lex_destroy(parser->mils); + gdbwire_string_destroy(parser->buffer); + free(parser); +@@ -109,9 +109,9 @@ void gdbwire_mi_parser_destroy(struct gdbwire_mi_parser *parser) + } + + /* Free the push parser instance */ +- if (parser->mips) { +- gdbwire_mi_pstate_delete(parser->mips); +- parser->mips = NULL; ++ if (parser->mipst) { ++ gdbwire_mi_pstate_delete(parser->mipst); ++ parser->mipst = NULL; + } + + free(parser); +@@ -162,7 +162,7 @@ gdbwire_mi_parser_parse_line(struct gdbwire_mi_parser *parser, + pattern = gdbwire_mi_lex(parser->mils); + if (pattern == 0) + break; +- mi_status = gdbwire_mi_push_parse(parser->mips, pattern, NULL, ++ mi_status = gdbwire_mi_push_parse(parser->mipst, pattern, NULL, + parser->mils, &output); + } while (mi_status == YYPUSH_MORE); + +-- +2.20.1 + diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb/remove-help2man.patch b/external/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb/remove-help2man.patch deleted file mode 100644 index 4358629b..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb/remove-help2man.patch +++ /dev/null @@ -1,47 +0,0 @@ -Disable building manpages so that make install doesn't fail due to lack of help2man - -Upstream-Status: Inappropriate [config] - -Signed-off-by: Matthieu Crapet <Matthieu.Crapet@ingenico.com> ---- - configure.ac | 3 --- - doc/Makefile.am | 5 ----- - 2 files changed, 8 deletions(-) - -diff --git a/configure.ac b/configure.ac -index ee7eca0..1f0d924 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -134,9 +134,6 @@ dnl check that the required tools are available to generate documentation - if test "$HAS_MAKEINFO" != "yes" ; then - AC_MSG_ERROR([Please install makeinfo before installing]) - fi --if test "$HAS_HELP2MAN" != "yes" ; then -- AC_MSG_ERROR([Please install help2man]) --fi - - dnl Checking for log10 function in math - I would like to remove this - AC_CHECK_LIB(m, log10) -diff --git a/doc/Makefile.am b/doc/Makefile.am -index 60662f6..0ae0013 100644 ---- a/doc/Makefile.am -+++ b/doc/Makefile.am -@@ -1,15 +1,10 @@ - info_TEXINFOS = cgdb.texi - cgdb_TEXINFOS = gpl.texi - --dist_man_MANS = cgdb.1 - EXTRA_DIST = cgdb.txt - - dist_pkgdata_DATA = cgdb.txt - --# generate the man page using help2man. --cgdb.1: -- help2man --output=$(top_srcdir)/doc/cgdb.1 $(top_builddir)/cgdb/cgdb$(EXEEXT) -- - cgdb.txt: cgdb.texi $(srcdir)/version.texi $(cgdb_TEXINFOS) - TEXTS = cgdb.txt - text-am: $(TEXTS) --- -1.9.1 - diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb_0.6.8.bb b/external/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb_0.7.1.bb index 74019fb6..9d373fc9 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb_0.6.8.bb +++ b/external/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb_0.7.1.bb @@ -7,14 +7,15 @@ 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://remove-help2man.patch" -SRC_URI[md5sum] = "7bd38c79bf4d794d239928fef401fca3" -SRC_URI[sha256sum] = "be203e29be295097439ab67efe3dc8261f742c55ff3647718d67d52891f4cf41" + file://0001-Avoid-use-of-mips-which-is-reserved-on-mips.patch \ +" +SRC_URI[md5sum] = "a104862ffd3145b076303992e9a3af26" +SRC_URI[sha256sum] = "bb723be58ec68cb59a598b8e24a31d10ef31e0e9c277a4de07b2f457fe7de198" -CACHED_CONFIGUREVARS = "ac_cv_file__dev_ptmx=yes ac_cv_rl_version=6.2" +CACHED_CONFIGUREVARS = "ac_cv_file__dev_ptmx=yes ac_cv_rl_version=6.2 ac_cv_file__proc_self_status=yes" EXTRA_OECONF = "--with-readline=${STAGING_LIBDIR} \ --with-ncurses=${STAGING_LIBDIR}" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/cjson/cjson_1.7.13.bb b/external/meta-openembedded/meta-oe/recipes-devtools/cjson/cjson_1.7.13.bb new file mode 100644 index 00000000..e6174821 --- /dev/null +++ b/external/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/external/meta-openembedded/meta-oe/recipes-devtools/cloc/cloc_1.84.bb b/external/meta-openembedded/meta-oe/recipes-devtools/cloc/cloc_1.84.bb new file mode 100644 index 00000000..3e46c726 --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/cloc/cloc_1.84.bb @@ -0,0 +1,21 @@ +SUMMARY = "Count blank lines, comment lines, and physical lines of source code \ +in many programming languages." +AUTHOR = "Al Danial" + +LICENSE="GPL-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=2c1c00f9d3ed9e24fa69b932b7e7aff2" + +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" + +do_install() { + install -D -m 0755 ${S}/cloc ${D}${bindir}/cloc +} + +RDEPENDS_${PN} = "perl perl-modules" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/cloud9-avahi.service b/external/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/cloud9-avahi.service deleted file mode 100644 index cb9b6e2d..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/cloud9-avahi.service +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" standalone='no'?><!--*-nxml-*--> -<!DOCTYPE service-group SYSTEM "avahi-service.dtd"> - -<service-group> - <name replace-wildcards="yes">Cloud9 IDE on %h</name> - <service> - <type>_http._tcp</type> - <port>3000</port> - </service> -</service-group> diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/cloud9.service b/external/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/cloud9.service deleted file mode 100644 index 495b131f..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/cloud9.service +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description=Cloud9 IDE -ConditionPathExists=|/var/lib/cloud9 - -[Service] -Restart=always -EnvironmentFile=-/etc/default/node -ExecStart=/usr/bin/node4 /usr/share/cloud9/bin/cloud9.js -l 0.0.0.0 -w /var/lib/cloud9 -p 3000 - -[Install] -WantedBy=multi-user.target diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/index.js b/external/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/index.js deleted file mode 100644 index 88c9a19f..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/index.js +++ /dev/null @@ -1,2 +0,0 @@ -var o3 = require('./o3.js') -module.exports = o3.xml; diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb b/external/meta-openembedded/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb index 19767c31..8c6cf7db 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb +++ b/external/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/external/meta-openembedded/meta-oe/recipes-devtools/cpuid/cpuid_20180519.bb b/external/meta-openembedded/meta-oe/recipes-devtools/cpuid/cpuid_20200211.bb index 533a0002..56462a91 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/cpuid/cpuid_20180519.bb +++ b/external/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/external/meta-openembedded/meta-oe/recipes-devtools/cscope/cscope_15.8b.bb b/external/meta-openembedded/meta-oe/recipes-devtools/cscope/cscope_15.9.bb index 8aa5947d..99f3ba85 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/cscope/cscope_15.8b.bb +++ b/external/meta-openembedded/meta-oe/recipes-devtools/cscope/cscope_15.9.bb @@ -11,14 +11,14 @@ DESCRIPTION = "Cscope is a developer's tool for browsing source code. \ HOMEPAGE = "http://cscope.sourceforge.net/" -LICENSE = "BSD" +LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://COPYING;md5=d4667b67b483823043fcffa489ea343b" inherit autotools DEPENDS += "ncurses" -SRC_URI = "http://downloads.sourceforge.net/project/cscope/cscope/${PV}/${BP}.tar.gz" +SRC_URI = "http://downloads.sourceforge.net/project/cscope/cscope/v${PV}/${BP}.tar.gz" -SRC_URI[md5sum] = "8f9409a238ee313a96f9f87fe0f3b176" -SRC_URI[sha256sum] = "4889d091f05aa0845384b1e4965aa31d2b20911fb2c001b2cdcffbcb7212d3af" +SRC_URI[md5sum] = "16f3cce078b6c0e42299def4028eea6f" +SRC_URI[sha256sum] = "c5505ae075a871a9cd8d9801859b0ff1c09782075df281c72c23e72115d9f159" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/dejagnu/dejagnu/configure.patch b/external/meta-openembedded/meta-oe/recipes-devtools/dejagnu/dejagnu/configure.patch deleted file mode 100644 index 2eb8af71..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/dejagnu/dejagnu/configure.patch +++ /dev/null @@ -1,45 +0,0 @@ -Index: dejagnu-1.4.4/configure.in -=================================================================== ---- dejagnu-1.4.4.orig/configure.in 2014-07-18 07:05:49.997481207 +0000 -+++ dejagnu-1.4.4/configure.in 2014-07-18 07:05:50.085481210 +0000 -@@ -1,10 +1,10 @@ - dnl Process this file with autoconf to produce a configure script. - AC_PREREQ(2.13) --AC_INIT(runtest.exp) -+AC_INIT(dejagnu, 1.4.4) - dnl AC_CONFIG_AUX_DIR(..) - - dnl These are required by automake --AM_INIT_AUTOMAKE(dejagnu, 1.4.4) -+AM_INIT_AUTOMAKE([foreign]) - AM_MAINTAINER_MODE - AC_PROG_MAKE_SET - -Index: dejagnu-1.4.4/example/calc/configure.in -=================================================================== ---- dejagnu-1.4.4.orig/example/calc/configure.in 2002-04-26 03:32:40.000000000 +0000 -+++ dejagnu-1.4.4/example/calc/configure.in 2014-07-18 07:11:59.085491266 +0000 -@@ -1,8 +1,8 @@ - dnl Process this file with autoconf to produce a configure script. - AC_PREREQ(2.5) --AC_INIT(calc.c) -+AC_INIT(calc, 1.1) - AM_CONFIG_HEADER(calc.h) --AM_INIT_AUTOMAKE(calc, 1.1) -+AM_INIT_AUTOMAKE([foreign]) - - AC_PROG_CC - AC_PROG_INSTALL -Index: dejagnu-1.4.4/example/hello/configure.in -=================================================================== ---- dejagnu-1.4.4.orig/example/hello/configure.in 2002-08-31 05:46:16.000000000 +0000 -+++ dejagnu-1.4.4/example/hello/configure.in 2014-07-18 07:12:23.721491937 +0000 -@@ -25,7 +25,7 @@ - # ------------------------------------------------------------------------ - - AC_INIT(helloworld, demo-version, philip.wilsey@ieee.org) --AM_INIT_AUTOMAKE(helloworld, demo-version) -+AM_INIT_AUTOMAKE([foreign]) - - #AC_CONFIG_SRCDIR([hello.cc]) - #AC_CONFIG_HEADER([config.h]) diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/dejagnu/dejagnu_1.4.4.bb b/external/meta-openembedded/meta-oe/recipes-devtools/dejagnu/dejagnu_1.4.4.bb deleted file mode 100644 index 63726b23..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/dejagnu/dejagnu_1.4.4.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "GNU unit testing framework, written in Expect and Tcl" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b" -SECTION = "devel" - -inherit autotools - -SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \ - file://configure.patch" - -SRC_URI[md5sum] = "053f18fd5d00873de365413cab17a666" -SRC_URI[sha256sum] = "d0fbedef20fb0843318d60551023631176b27ceb1e11de7468a971770d0e048d" - -BBCLASSEXTEND = "native" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_git.bb b/external/meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_git.bb new file mode 100644 index 00000000..406494eb --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_git.bb @@ -0,0 +1,40 @@ +SUMMARY = "A text-based user interface plugin of dnf for user to manage packages. " +LICENSE = "GPLv2" + +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI = "git://github.com/ubinux/dnf-plugin-tui.git;branch=master " +SRCREV = "c5416adeb210154dc4ccc4c3e1c5297d83ebd41e" +PV = "1.1" + +SRC_URI_append_class-target = "file://oe-remote.repo.sample" + +inherit distutils3-base + +S = "${WORKDIR}/git" + +do_install_append() { + install -d ${D}${datadir}/dnf + install -m 0755 ${S}/samples/* ${D}${datadir}/dnf + install -d ${D}${PYTHON_SITEPACKAGES_DIR}/dnf-plugins/mkimg + install -m 0755 ${S}/dnf-plugins/mkimg/* ${D}${PYTHON_SITEPACKAGES_DIR}/dnf-plugins/mkimg + for file in $(ls ${S}/dnf-plugins/ | grep -v mkimg); do + install -m 0755 ${S}/dnf-plugins/$file ${D}${PYTHON_SITEPACKAGES_DIR}/dnf-plugins + done +} + +do_install_append_class-target() { + install -d ${D}${sysconfdir}/yum.repos.d + install -m 0644 ${WORKDIR}/oe-remote.repo.sample ${D}${sysconfdir}/yum.repos.d +} + +FILES_${PN} += "${datadir}/dnf" + +RDEPENDS_${PN} += " \ + bash \ + dnf \ + libnewt-python \ +" + +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/external/meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/files/oe-remote.repo.sample b/external/meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/files/oe-remote.repo.sample new file mode 100644 index 00000000..6c4502e1 --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/files/oe-remote.repo.sample @@ -0,0 +1,5 @@ +[base] +name=myrepo +baseurl=http://127.0.0.1/oe_repo/ +enabled=1 +gpgcheck=0 diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen/0001-build-don-t-look-for-Iconv.patch b/external/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen/0001-build-don-t-look-for-Iconv.patch new file mode 100644 index 00000000..c86dc169 --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen/0001-build-don-t-look-for-Iconv.patch @@ -0,0 +1,36 @@ +From 24650b0c7db6b213a2eaa5061b75b9f1b43f1ce9 Mon Sep 17 00:00:00 2001 +From: Bartosz Golaszewski <brgl@bgdev.pl> +Date: Fri, 23 Nov 2018 11:44:56 +0100 +Subject: [PATCH] build: don't look for Iconv + +Drop the find_package() for Iconv. CMake is unable to find iconv.h in +native build but all modern systems supply it as part of the standard +C library. We don't need this check in meta-openembedded. + +Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl> + +Upstream-status: Inappropriate +- upstream doxygen must build on many architectures, this change is + too intrusive for upstream +--- + CMakeLists.txt | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 45c2f2c1..22cf0144 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -92,10 +92,6 @@ if (sqlite3) + endif() + endif() + +-find_package(Iconv REQUIRED) +-include_directories(${ICONV_INCLUDE_DIR}) +- +- + #set(DOXYDOCS ${CMAKE_SOURCE_DIR}/doc CACHE INTERNAL "Path to doxygen docs") + set(DOXYDOCS ${PROJECT_BINARY_DIR}/doc) + set(ENV{DOXYGEN_DOCDIR} ${DOXYDOCS}) +-- +2.17.1 + diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen/doxygen-native-only-check-python3.patch b/external/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen/doxygen-native-only-check-python3.patch new file mode 100644 index 00000000..a9650c23 --- /dev/null +++ b/external/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/external/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen_1.8.17.bb b/external/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen_1.8.17.bb new file mode 100644 index 00000000..45de7182 --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen_1.8.17.bb @@ -0,0 +1,18 @@ +DESCRIPTION = "Doxygen is the de facto standard tool for generating documentation from annotated C++ sources." +HOMEPAGE = "http://www.doxygen.org/" + +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +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" + +inherit cmake python3native + +BBCLASSEXTEND = "native nativesdk" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0001-correct-version-for-so-lib.patch b/external/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0001-correct-version-for-so-lib.patch deleted file mode 100644 index a7a42f98..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0001-correct-version-for-so-lib.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 8b44dc65d98d50b462843ac9dab6fe3fc25abe36 Mon Sep 17 00:00:00 2001 -From: Pascal Bach <pascal.bach@siemens.com> -Date: Fri, 12 May 2017 13:54:49 +0200 -Subject: [PATCH] correct version for so lib - -Upstream-Status: Pending - ---- - CMakeLists.txt | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3670afe..f4fcd2c 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -172,6 +172,7 @@ endif() - if(FLATBUFFERS_BUILD_SHAREDLIB) - add_library(flatbuffers_shared SHARED ${FlatBuffers_Library_SRCS}) - set_target_properties(flatbuffers_shared PROPERTIES OUTPUT_NAME flatbuffers) -+ set_target_properties(flatbuffers_shared PROPERTIES VERSION "${PV}") - endif() - - function(compile_flatbuffers_schema_to_cpp SRC_FBS) --- -2.1.4 - diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0001-flatbuffers-Move-EndianSwap-template-to-flatbuffers-.patch b/external/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0001-flatbuffers-Move-EndianSwap-template-to-flatbuffers-.patch deleted file mode 100644 index d736f012..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0001-flatbuffers-Move-EndianSwap-template-to-flatbuffers-.patch +++ /dev/null @@ -1,113 +0,0 @@ -From a614d8e20fa9e4fd16b699d581ddac2956c120f5 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Tue, 19 Sep 2017 10:04:02 -0700 -Subject: [PATCH 1/2] flatbuffers: Move EndianSwap template to - flatbuffers/base.h - -Clang complains -call to function 'EndianSwap' that is neither visible in the template definition nor found by argument-dependent lookup - return EndianSwap(t); - -This seems to be due to limitation of two-phase lookup of dependent names in template definitions - -Its not being found using associated namespaces therefore -it has to be made visible at the template definition site as well - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- -Upstream-Status: Submitted - - include/flatbuffers/base.h | 33 +++++++++++++++++++++++++++++++++ - include/flatbuffers/flatbuffers.h | 32 -------------------------------- - 2 files changed, 33 insertions(+), 32 deletions(-) - -diff --git a/include/flatbuffers/base.h b/include/flatbuffers/base.h -index f051755..c73fb2d 100644 ---- a/include/flatbuffers/base.h -+++ b/include/flatbuffers/base.h -@@ -150,6 +150,39 @@ typedef uintmax_t largest_scalar_t; - // We support aligning the contents of buffers up to this size. - #define FLATBUFFERS_MAX_ALIGNMENT 16 - -+template<typename T> T EndianSwap(T t) { -+ #if defined(_MSC_VER) -+ #define FLATBUFFERS_BYTESWAP16 _byteswap_ushort -+ #define FLATBUFFERS_BYTESWAP32 _byteswap_ulong -+ #define FLATBUFFERS_BYTESWAP64 _byteswap_uint64 -+ #else -+ #if defined(__GNUC__) && __GNUC__ * 100 + __GNUC_MINOR__ < 408 -+ // __builtin_bswap16 was missing prior to GCC 4.8. -+ #define FLATBUFFERS_BYTESWAP16(x) \ -+ static_cast<uint16_t>(__builtin_bswap32(static_cast<uint32_t>(x) << 16)) -+ #else -+ #define FLATBUFFERS_BYTESWAP16 __builtin_bswap16 -+ #endif -+ #define FLATBUFFERS_BYTESWAP32 __builtin_bswap32 -+ #define FLATBUFFERS_BYTESWAP64 __builtin_bswap64 -+ #endif -+ if (sizeof(T) == 1) { // Compile-time if-then's. -+ return t; -+ } else if (sizeof(T) == 2) { -+ auto r = FLATBUFFERS_BYTESWAP16(*reinterpret_cast<uint16_t *>(&t)); -+ return *reinterpret_cast<T *>(&r); -+ } else if (sizeof(T) == 4) { -+ auto r = FLATBUFFERS_BYTESWAP32(*reinterpret_cast<uint32_t *>(&t)); -+ return *reinterpret_cast<T *>(&r); -+ } else if (sizeof(T) == 8) { -+ auto r = FLATBUFFERS_BYTESWAP64(*reinterpret_cast<uint64_t *>(&t)); -+ return *reinterpret_cast<T *>(&r); -+ } else { -+ assert(0); -+ } -+} -+ -+ - template<typename T> T EndianScalar(T t) { - #if FLATBUFFERS_LITTLEENDIAN - return t; -diff --git a/include/flatbuffers/flatbuffers.h b/include/flatbuffers/flatbuffers.h -index 9216cf4..f749dcb 100644 ---- a/include/flatbuffers/flatbuffers.h -+++ b/include/flatbuffers/flatbuffers.h -@@ -37,38 +37,6 @@ inline void EndianCheck() { - (void)endiantest; - } - --template<typename T> T EndianSwap(T t) { -- #if defined(_MSC_VER) -- #define FLATBUFFERS_BYTESWAP16 _byteswap_ushort -- #define FLATBUFFERS_BYTESWAP32 _byteswap_ulong -- #define FLATBUFFERS_BYTESWAP64 _byteswap_uint64 -- #else -- #if defined(__GNUC__) && __GNUC__ * 100 + __GNUC_MINOR__ < 408 -- // __builtin_bswap16 was missing prior to GCC 4.8. -- #define FLATBUFFERS_BYTESWAP16(x) \ -- static_cast<uint16_t>(__builtin_bswap32(static_cast<uint32_t>(x) << 16)) -- #else -- #define FLATBUFFERS_BYTESWAP16 __builtin_bswap16 -- #endif -- #define FLATBUFFERS_BYTESWAP32 __builtin_bswap32 -- #define FLATBUFFERS_BYTESWAP64 __builtin_bswap64 -- #endif -- if (sizeof(T) == 1) { // Compile-time if-then's. -- return t; -- } else if (sizeof(T) == 2) { -- auto r = FLATBUFFERS_BYTESWAP16(*reinterpret_cast<uint16_t *>(&t)); -- return *reinterpret_cast<T *>(&r); -- } else if (sizeof(T) == 4) { -- auto r = FLATBUFFERS_BYTESWAP32(*reinterpret_cast<uint32_t *>(&t)); -- return *reinterpret_cast<T *>(&r); -- } else if (sizeof(T) == 8) { -- auto r = FLATBUFFERS_BYTESWAP64(*reinterpret_cast<uint64_t *>(&t)); -- return *reinterpret_cast<T *>(&r); -- } else { -- assert(0); -- } --} -- - template<typename T> FLATBUFFERS_CONSTEXPR size_t AlignOf() { - #ifdef _MSC_VER - return __alignof(T); --- -2.14.1 - diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0002-use-__builtin_bswap16-when-building-with-clang.patch b/external/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0002-use-__builtin_bswap16-when-building-with-clang.patch deleted file mode 100644 index 460159f2..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0002-use-__builtin_bswap16-when-building-with-clang.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 626fe5e043de25e970ebdf061b88c646fa689113 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Tue, 19 Sep 2017 10:09:31 -0700 -Subject: [PATCH 2/2] use __builtin_bswap16 when building with clang - -clang pretends to be gcc 4.2.0 and therefore the code does -not use __builtin_bswap16 but tries to synthesize it - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- -Upstream-Status: Submitted - include/flatbuffers/base.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/flatbuffers/base.h b/include/flatbuffers/base.h -index c73fb2d..13e8fac 100644 ---- a/include/flatbuffers/base.h -+++ b/include/flatbuffers/base.h -@@ -156,7 +156,7 @@ template<typename T> T EndianSwap(T t) { - #define FLATBUFFERS_BYTESWAP32 _byteswap_ulong - #define FLATBUFFERS_BYTESWAP64 _byteswap_uint64 - #else -- #if defined(__GNUC__) && __GNUC__ * 100 + __GNUC_MINOR__ < 408 -+ #if defined(__GNUC__) && __GNUC__ * 100 + __GNUC_MINOR__ < 408 && !defined(__clang__) - // __builtin_bswap16 was missing prior to GCC 4.8. - #define FLATBUFFERS_BYTESWAP16(x) \ - static_cast<uint16_t>(__builtin_bswap32(static_cast<uint32_t>(x) << 16)) --- -2.14.1 - diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.12.0.bb b/external/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.12.0.bb new file mode 100644 index 00000000..c31cef63 --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.12.0.bb @@ -0,0 +1,34 @@ +SUMMARY = "Memory Efficient Serialization Library" +HOMEPAGE = "https://github.com/google/flatbuffers" +SECTION = "console/tools" +LICENSE = "Apache-2.0" + +PACKAGE_BEFORE_PN = "${PN}-compiler" + +RDEPENDS_${PN}-compiler = "${PN}" +RDEPENDS_${PN}-dev += "${PN}-compiler" + +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" + +SRCREV = "6df40a2471737b27271bdd9b900ab5f3aec746c7" + +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" + +# BUILD_TYPE=Release is required, otherwise flatc is not installed +EXTRA_OECMAKE += "\ + -DCMAKE_BUILD_TYPE=Release \ + -DFLATBUFFERS_BUILD_TESTS=OFF \ + -DFLATBUFFERS_BUILD_SHAREDLIB=ON \ +" + +inherit cmake + +S = "${WORKDIR}/git" + +FILES_${PN}-compiler = "${bindir}" + +BBCLASSEXTEND = "native nativesdk" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.9.0.bb b/external/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.9.0.bb deleted file mode 100644 index a8df4448..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.9.0.bb +++ /dev/null @@ -1,37 +0,0 @@ -SUMMARY = "Memory Efficient Serialization Library" -HOMEPAGE = "https://github.com/google/flatbuffers" -SECTION = "console/tools" -LICENSE = "Apache-2.0" - -PACKAGE_BEFORE_PN = "${PN}-compiler" - -RDEPENDS_${PN}-compiler = "${PN}" -RDEPENDS_${PN}-dev += "${PN}-compiler" - -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a873c5645c184d51e0f9b34e1d7cf559" - -SRCREV = "25a15950f5a24d7217689739ed8f6dac64912d62" - -SRC_URI = "git://github.com/google/flatbuffers.git \ - file://0001-correct-version-for-so-lib.patch \ - file://0001-flatbuffers-Move-EndianSwap-template-to-flatbuffers-.patch \ - file://0002-use-__builtin_bswap16-when-building-with-clang.patch \ - " - -# Make sure C++11 is used, required for example for GCC 4.9 -CXXFLAGS += "-std=c++11" -BUILD_CXXFLAGS += "-std=c++11" - -EXTRA_OECMAKE += "\ - -DFLATBUFFERS_BUILD_TESTS=OFF \ - -DFLATBUFFERS_BUILD_SHAREDLIB=ON \ - -DPV=${PV} \ -" - -inherit cmake - -S = "${WORKDIR}/git" - -FILES_${PN}-compiler = "${bindir}" - -BBCLASSEXTEND = "native nativesdk" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins/0001-Use-pkg-config-to-find-gpgme.patch b/external/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins/0001-Use-pkg-config-to-find-gpgme.patch new file mode 100644 index 00000000..9030f36d --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins/0001-Use-pkg-config-to-find-gpgme.patch @@ -0,0 +1,31 @@ +From 0c24f99ca4d4f64ea8584347ca6ae0d638d625a8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> +Date: Mon, 18 Feb 2019 16:13:17 +0100 +Subject: [PATCH] Use pkg-config to find gpgme +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> +--- + build/bundled/gpgme.m4 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/build/bundled/gpgme.m4 b/build/bundled/gpgme.m4 +index 44bf43c..c9a8ae6 100644 +--- a/build/bundled/gpgme.m4 ++++ b/build/bundled/gpgme.m4 +@@ -18,7 +18,7 @@ AC_DEFUN([_AM_PATH_GPGME_CONFIG], + if test "x$gpgme_config_prefix" != x ; then + GPGME_CONFIG="$gpgme_config_prefix/bin/gpgme-config" + fi +- AC_PATH_PROG(GPGME_CONFIG, gpgme-config, no) ++ GPGME_CONFIG="pkg-config gpgme" + + if test "$GPGME_CONFIG" != "no" ; then + gpgme_version=`$GPGME_CONFIG --version` +-- +2.20.1 + diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.31.bb b/external/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.36.bb index d8f2f894..a6a0b17d 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.31.bb +++ b/external/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.36.bb @@ -11,68 +11,67 @@ python () { } DEPENDS = " \ + vala-native \ fribidi \ geany \ libxml2 \ libsoup-2.4 \ - enchant \ + enchant2 \ intltool-native \ libassuan \ gpgme \ - vte9 \ + vte \ libgit2 \ " -inherit distro_features_check autotools pkgconfig gtk-icon-cache +inherit features_check autotools pkgconfig gtk-icon-cache REQUIRED_DISTRO_FEATURES = "x11" -SRC_URI = "http://plugins.geany.org/${PN}/${PN}-${PV}.tar.bz2" -SRC_URI[md5sum] = "808f9048b77fd9704569ed2ba12a56e9" -SRC_URI[sha256sum] = "76bd9e803db5a626b86669f08330cf95b8cc35057a1cdf65759bc00aef120e25" +SRC_URI = " \ + https://plugins.geany.org/${BPN}/${BP}.tar.bz2 \ + file://0001-Use-pkg-config-to-find-gpgme.patch \ +" +SRC_URI[md5sum] = "91fb4634953702f914d9105da7048a33" +SRC_URI[sha256sum] = "ebe18dd699292174622e8cb8745b020ada8a5be3b604ab980af36e8518df7ce6" do_configure_prepend() { rm -f ${S}/build/cache/glib-gettext.m4 } FILES_${PN} += "${datadir}/icons" -FILES_${PN}-dev += "${libdir}/geany/*.la ${libdir}/${PN}/*/*.la" +FILES_${PN}-dev += "${libdir}/geany/*.la ${libdir}/${BPN}/*/*.la" PLUGINS += "${PN}-addons" LIC_FILES_CHKSUM += "file://addons/COPYING;md5=4325afd396febcb659c36b49533135d4" FILES_${PN}-addons = "${libdir}/geany/addons.so" -RDEPENDS_${PN}-addons = "${PN}" PLUGINS += "${PN}-autoclose" LIC_FILES_CHKSUM += "file://autoclose/COPYING;md5=751419260aa954499f7abaabaa882bbe" FILES_${PN}-autoclose = "${libdir}/geany/autoclose.so" -RDEPENDS_${PN}-autoclose = "${PN}" PLUGINS += "${PN}-automark" LIC_FILES_CHKSUM += "file://automark/COPYING;md5=751419260aa954499f7abaabaa882bbe" FILES_${PN}-automark = "${libdir}/geany/automark.so" -RDEPENDS_${PN}-automark = "${PN}" PLUGINS += "${PN}-codenav" LIC_FILES_CHKSUM += "file://codenav/COPYING;md5=751419260aa954499f7abaabaa882bbe" FILES_${PN}-codenav = "${libdir}/geany/codenav.so" -RDEPENDS_${PN}-codenav = "${PN}" PLUGINS += "${PN}-commander" LIC_FILES_CHKSUM += "file://commander/COPYING;md5=d32239bcb673463ab874e80d47fae504" LICENSE_${PN}-commander = "GPLv3" FILES_${PN}-commander = "${libdir}/geany/commander.so" -RDEPENDS_${PN}-commander = "${PN}" -PLUGINS += "${PN}-debugger" -LIC_FILES_CHKSUM += "file://debugger/COPYING;md5=4325afd396febcb659c36b49533135d4" -FILES_${PN}-debugger = "${libdir}/geany/debugger.so ${datadir}/${PN}/debugger" -RDEPENDS_${PN}-debugger = "${PN}" +# | checking whether the GTK version in use is compatible with plugin Debugger... no +EXTRA_OECONF += "--disable-debugger" +#PLUGINS += "${PN}-debugger" +#LIC_FILES_CHKSUM += "file://debugger/COPYING;md5=4325afd396febcb659c36b49533135d4" +#FILES_${PN}-debugger = "${libdir}/geany/debugger.so ${datadir}/${PN}/debugger" PLUGINS += "${PN}-defineformat" LIC_FILES_CHKSUM += "file://defineformat/COPYING;md5=751419260aa954499f7abaabaa882bbe" FILES_${PN}-defineformat = "${libdir}/geany/defineformat.so" -RDEPENDS_${PN}-defineformat = "${PN}" # no gnome devhelp in some common layer EXTRA_OECONF += "--disable-devhelp" @@ -80,178 +79,149 @@ EXTRA_OECONF += "--disable-devhelp" #LIC_FILES_CHKSUM += "file://devhelp/COPYING;md5=d32239bcb673463ab874e80d47fae504" #LICENSE_${PN}-devhelp = "GPLv3" #FILES_${PN}-devhelp = "${libdir}/geany/devhelp.so" -#RDEPENDS_${PN}-devhelp = "${PN}" PLUGINS += "${PN}-geanyctags" LIC_FILES_CHKSUM += "file://geanyctags/COPYING;md5=c107cf754550e65755c42985a5d4e9c9" FILES_${PN}-geanyctags = "${libdir}/geany/geanyctags.so" -RDEPENDS_${PN}-geanyctags = "${PN}" PLUGINS += "${PN}-geanydoc" LIC_FILES_CHKSUM += "file://geanydoc/COPYING;md5=d32239bcb673463ab874e80d47fae504" LICENSE_${PN}-geanydoc = "GPLv3" FILES_${PN}-geanydoc = "${libdir}/geany/geanydoc.so" -RDEPENDS_${PN}-geanydoc = "${PN}" PLUGINS += "${PN}-geanyextrasel" LIC_FILES_CHKSUM += "file://geanyextrasel/COPYING;md5=c107cf754550e65755c42985a5d4e9c9" FILES_${PN}-geanyextrasel = "${libdir}/geany/geanyextrasel.so" -RDEPENDS_${PN}-geanyextrasel = "${PN}" PLUGINS += "${PN}-geanyinsertnum" LIC_FILES_CHKSUM += "file://geanyinsertnum/COPYING;md5=c107cf754550e65755c42985a5d4e9c9" FILES_${PN}-geanyinsertnum = "${libdir}/geany/geanyinsertnum.so" -RDEPENDS_${PN}-geanyinsertnum = "${PN}" - -PLUGINS += "${PN}-geanylatex" -LIC_FILES_CHKSUM += "file://geanylatex/COPYING;md5=c107cf754550e65755c42985a5d4e9c9" -FILES_${PN}-geanylatex = "${libdir}/geany/geanylatex.so" -RDEPENDS_${PN}-geanylatex = "${PN}" - -PLUGINS += "${PN}-geanylipsum" -LIC_FILES_CHKSUM += "file://lipsum/COPYING;md5=4325afd396febcb659c36b49533135d4" -FILES_${PN}-geanylipsum = "${libdir}/geany/lipsum.so" -RDEPENDS_${PN}-geanylipsum = "${PN}" # no lua: max supported version is 5.2 EXTRA_OECONF += "--disable-geanylua" #PLUGINS += "${PN}-geanylua" #LIC_FILES_CHKSUM += "file://geanylua/COPYING;md5=4325afd396febcb659c36b49533135d4" #FILES_${PN}-geanylua = "${libdir}/geany/geanylua.so ${libdir}/${PN}/geanylua/*.so" -#RDEPENDS_${PN}-geanylua = "${PN}" PLUGINS += "${PN}-geanymacro" LIC_FILES_CHKSUM += "file://geanymacro/COPYING;md5=c107cf754550e65755c42985a5d4e9c9" FILES_${PN}-geanymacro = "${libdir}/geany/geanymacro.so" -RDEPENDS_${PN}-geanymacro = "${PN}" PLUGINS += "${PN}-geanyminiscript" LIC_FILES_CHKSUM += "file://geanyminiscript/COPYING;md5=4325afd396febcb659c36b49533135d4" FILES_${PN}-geanyminiscript = "${libdir}/geany/geanyminiscript.so" -RDEPENDS_${PN}-geanyminiscript = "${PN}" PLUGINS += "${PN}-geanynumberedbookmarks" LIC_FILES_CHKSUM += "file://geanynumberedbookmarks/COPYING;md5=c107cf754550e65755c42985a5d4e9c9" FILES_${PN}-geanynumberedbookmarks = "${libdir}/geany/geanynumberedbookmarks.so" -RDEPENDS_${PN}-geanynumberedbookmarks = "${PN}" PLUGINS += "${PN}-geanypg" LIC_FILES_CHKSUM += "file://geanypg/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" FILES_${PN}-geanypg = "${libdir}/geany/geanypg.so" -RDEPENDS_${PN}-geanypg = "${PN}" PLUGINS += "${PN}-geanyprj" LIC_FILES_CHKSUM += "file://geanyprj/COPYING;md5=d32239bcb673463ab874e80d47fae504" LICENSE_${PN}-geanyprj = "GPLv3" FILES_${PN}-geanyprj = "${libdir}/geany/geanyprj.so" -RDEPENDS_${PN}-geanyprj = "${PN}" -# no gnome pygtk -EXTRA_OECONF += "--disable-geanypy" #PLUGINS += "${PN}-geanypy" #LIC_FILES_CHKSUM += "file://geanypy/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" #FILES_${PN}-geanypy = "${libdir}/geany/geanypy.so" -#RDEPENDS_${PN}-geanypy = "${PN}" PLUGINS += "${PN}-geanyvc" LIC_FILES_CHKSUM += "file://geanyvc/COPYING;md5=c107cf754550e65755c42985a5d4e9c9" FILES_${PN}-geanyvc = "${libdir}/geany/geanyvc.so" -RDEPENDS_${PN}-geanyvc = "${PN}" PLUGINS += "${PN}-geniuspaste" LIC_FILES_CHKSUM += "file://geniuspaste/COPYING;md5=bfc203269f8862ebfc1198cdc809a95a" FILES_${PN}-geniuspaste = "${libdir}/geany/geniuspaste.so ${datadir}/${PN}/geniuspaste" -RDEPENDS_${PN}-geniuspaste = "${PN}" PLUGINS += "${PN}-git-changebar" LIC_FILES_CHKSUM += "file://git-changebar/COPYING;md5=d32239bcb673463ab874e80d47fae504" LICENSE_${PN}-git-changebar = "GPLv3" -FILES_${PN}-git-changebar = "${libdir}/geany/git-changebar.so" -RDEPENDS_${PN}-git-changebar = "${PN}" +FILES_${PN}-git-changebar = "${datadir}/${BPN}/git-changebar ${libdir}/geany/git-changebar.so" PLUGINS += "${PN}-keyrecord" LIC_FILES_CHKSUM += "file://keyrecord/COPYING;md5=751419260aa954499f7abaabaa882bbe" FILES_${PN}-keyrecord = "${libdir}/geany/keyrecord.so" -RDEPENDS_${PN}-keyrecord = "${PN}" + +PLUGINS += "${PN}-latex" +LIC_FILES_CHKSUM += "file://latex/COPYING;md5=c107cf754550e65755c42985a5d4e9c9" +FILES_${PN}-latex = "${libdir}/geany/latex.so" PLUGINS += "${PN}-lineoperations" LIC_FILES_CHKSUM += "file://lineoperations/COPYING;md5=c107cf754550e65755c42985a5d4e9c9" FILES_${PN}-lineoperations = "${libdir}/geany/lineoperations.so" -RDEPENDS_${PN}-lineoperations = "${PN}" + +PLUGINS += "${PN}-lipsum" +LIC_FILES_CHKSUM += "file://lipsum/COPYING;md5=4325afd396febcb659c36b49533135d4" +FILES_${PN}-lipsum = "${libdir}/geany/lipsum.so" # no markdown - avoid floating dependencies -EXTRA_OECONF += " --disable-peg-markdown" +EXTRA_OECONF += "--disable-peg-markdown" #PLUGINS += "${PN}-markdown" #LIC_FILES_CHKSUM += "file://markdown/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" #FILES_${PN}-markdown = "${libdir}/geany/markdown.so" -#RDEPENDS_${PN}-markdown = "${PN}" -PLUGINS += "${PN}-multiterm" -LIC_FILES_CHKSUM += "file://multiterm/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -FILES_${PN}-multiterm = "${libdir}/geany/multiterm.so" -RDEPENDS_${PN}-multiterm = "${PN}" +# | checking whether the GTK version in use is compatible with plugin multiterm... no +EXTRA_OECONF += "--disable-multiterm" +#PLUGINS += "${PN}-multiterm" +#LIC_FILES_CHKSUM += "file://multiterm/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" +#FILES_${PN}-multiterm = "${libdir}/geany/multiterm.so" PLUGINS += "${PN}-overview" LIC_FILES_CHKSUM += "file://overview/overview/overviewplugin.c;beginline=4;endline=20;md5=1aa33522916cdeb46cccac0c629da0d0" FILES_${PN}-overview = "${libdir}/geany/overview.so ${datadir}/${PN}/overview" -RDEPENDS_${PN}-overview = "${PN}" PLUGINS += "${PN}-pairtaghighlighter" LICENSE_${PN}-pairtaghighlighter = "BSD-2-Clause" LIC_FILES_CHKSUM += "file://pairtaghighlighter/COPYING;md5=d6d927525a612b3a8dbebc4b2e9b47c1" FILES_${PN}-pairtaghighlighter = "${libdir}/geany/pairtaghighlighter.so" -RDEPENDS_${PN}-pairtaghighlighter = "${PN}" PLUGINS += "${PN}-pohelper" LICENSE_${PN}-pohelper = "GPLv3" LIC_FILES_CHKSUM += "file://pohelper/COPYING;md5=d32239bcb673463ab874e80d47fae504" -FILES_${PN}-pohelper = "${libdir}/geany/pohelper.so" -RDEPENDS_${PN}-pohelper = "${PN}" +FILES_${PN}-pohelper = "${datadir}/${BPN}/pohelper ${libdir}/geany/pohelper.so" PLUGINS += "${PN}-pretty-printer" LIC_FILES_CHKSUM += "file://pretty-printer/src/PrettyPrinter.c;beginline=1;endline=17;md5=1665115c2fadb17c1b53cdb4e43b2440" FILES_${PN}-pretty-printer = "${libdir}/geany/pretty-printer.so" -RDEPENDS_${PN}-pretty-printer = "${PN}" PLUGINS += "${PN}-projectorganizer" LIC_FILES_CHKSUM += "file://projectorganizer/COPYING;md5=c107cf754550e65755c42985a5d4e9c9" FILES_${PN}-projectorganizer = "${libdir}/geany/projectorganizer.so" -RDEPENDS_${PN}-projectorganizer = "${PN}" PLUGINS += "${PN}-scope" LIC_FILES_CHKSUM += "file://scope/COPYING;md5=c107cf754550e65755c42985a5d4e9c9" -FILES_${PN}-scope = "${libdir}/geany/scope.so" -RDEPENDS_${PN}-scope = "${PN}" +FILES_${PN}-scope = "${datadir}/${BPN}/scope ${libdir}/geany/scope.so" PLUGINS += "${PN}-sendmail" LIC_FILES_CHKSUM += "file://sendmail/COPYING;md5=c107cf754550e65755c42985a5d4e9c9" FILES_${PN}-sendmail = "${libdir}/geany/sendmail.so" -RDEPENDS_${PN}-sendmail = "${PN}" PLUGINS += "${PN}-shiftcolumn" LIC_FILES_CHKSUM += "file://shiftcolumn/COPYING;md5=751419260aa954499f7abaabaa882bbe" FILES_${PN}-shiftcolumn = "${libdir}/geany/shiftcolumn.so" -RDEPENDS_${PN}-shiftcolumn = "${PN}" PLUGINS += "${PN}-spellcheck" LIC_FILES_CHKSUM += "file://spellcheck/COPYING;md5=4325afd396febcb659c36b49533135d4" FILES_${PN}-spellcheck = "${libdir}/geany/spellcheck.so" -RDEPENDS_${PN}-spellcheck = "${PN}" PLUGINS += "${PN}-tableconvert" LIC_FILES_CHKSUM += "file://tableconvert/COPYING;md5=6753686878d090a1f3f9445661d3dfbc" FILES_${PN}-tableconvert = "${libdir}/geany/tableconvert.so" -RDEPENDS_${PN}-tableconvert = "${PN}" PLUGINS += "${PN}-treebrowser" -LIC_FILES_CHKSUM += "file://treebrowser/README;beginline=67;endline=67;md5=52f90857fd1a9672111e472dd056a0d8" +LIC_FILES_CHKSUM += "file://treebrowser/README;beginline=67;endline=67;md5=1f17f0f2abb88e0fa0f1b342112d871c" FILES_${PN}-treebrowser = "${libdir}/geany/treebrowser.so" -RDEPENDS_${PN}-treebrowser = "${PN}" PLUGINS += "${PN}-updatechecker" LIC_FILES_CHKSUM += "file://updatechecker/COPYING;md5=4325afd396febcb659c36b49533135d4" FILES_${PN}-updatechecker = "${libdir}/geany/updatechecker.so" -RDEPENDS_${PN}-updatechecker = "${PN}" + +PLUGINS += "${PN}-vimode" +LIC_FILES_CHKSUM += "file://vimode/COPYING;md5=c107cf754550e65755c42985a5d4e9c9" +FILES_${PN}-vimode = "${libdir}/geany/vimode.so" # no webkit - lasts ages and is not properly detected EXTRA_OECONF += " --disable-webhelper" @@ -259,13 +229,18 @@ EXTRA_OECONF += " --disable-webhelper" #LIC_FILES_CHKSUM += "file://webhelper/COPYING;md5=d32239bcb673463ab874e80d47fae504" #LICENSE_${PN}-webhelper = "GPLv3" #FILES_${PN}-webhelper = "${libdir}/geany/webhelper.so" -#RDEPENDS_${PN}-webhelper = "${PN}" + +PLUGINS += "${PN}-workbench" +LIC_FILES_CHKSUM += "file://workbench/COPYING;md5=c107cf754550e65755c42985a5d4e9c9" +FILES_${PN}-workbench = "${libdir}/geany/workbench.so" PLUGINS += "${PN}-xmlsnippets" LIC_FILES_CHKSUM += "file://xmlsnippets/COPYING;md5=4325afd396febcb659c36b49533135d4" FILES_${PN}-xmlsnippets = "${libdir}/geany/xmlsnippets.so" -RDEPENDS_${PN}-xmlsnippets = "${PN}" -PACKAGES =+ "${PLUGINS}" +PACKAGES =+ "${PN}-common ${PLUGINS}" +FILES_${PN}-common = "${libdir}/libgeanypluginutils${SOLIBS}" + +# geany-plugins is meta package for all plugins RDEPENDS_${PN} = "${PLUGINS}" ALLOW_EMPTY_${PN} = "1" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.31.bb b/external/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.31.bb deleted file mode 100644 index bb9d8bc2..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.31.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "A fast and lightweight IDE" -HOMEPAGE = "http://www.geany.org/" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=bd7b2c994af21d318bd2cd3b3f80c2d5" - -DEPENDS = "gtk+ libxml-parser-perl-native python3-docutils-native intltool-native" - -inherit distro_features_check autotools pkgconfig perlnative pythonnative gettext - -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI = "http://download.geany.org/${BP}.tar.bz2" -SRC_URI[md5sum] = "386000be6b26972c6a699939c37cda34" -SRC_URI[sha256sum] = "30fdb906bb76c4251a8bcf83ee267db28c26ef6ab867668a782cec1164a3aba5" - -FILES_${PN} += "${datadir}/icons" - -EXTRA_OECONF = "--disable-html-docs" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.36.bb b/external/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.36.bb new file mode 100644 index 00000000..8282091b --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.36.bb @@ -0,0 +1,18 @@ +SUMMARY = "A fast and lightweight IDE" +HOMEPAGE = "http://www.geany.org/" +LICENSE = "GPLv2" +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 mime-xdg + +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI = "https://download.geany.org/${BP}.tar.bz2" +SRC_URI[md5sum] = "53216a43345e2b6dbefa02ac24885753" +SRC_URI[sha256sum] = "9184dd3dd40b7b84fca70083284bb9dbf2ee8022bf2be066bdc36592d909d53e" + +FILES_${PN} += "${datadir}/icons" + +EXTRA_OECONF = "--disable-html-docs" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/glade/glade_3.22.1.bb b/external/meta-openembedded/meta-oe/recipes-devtools/glade/glade_3.22.2.bb index bd4b586f..3d539b23 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/glade/glade_3.22.1.bb +++ b/external/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 distro_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/external/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch b/external/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch new file mode 100644 index 00000000..6cad5339 --- /dev/null +++ b/external/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/external/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-libraries-installation-for-Linux.patch b/external/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-libraries-installation-for-Linux.patch new file mode 100644 index 00000000..e517355d --- /dev/null +++ b/external/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/external/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.24.3.bb b/external/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.24.3.bb new file mode 100644 index 00000000..752562eb --- /dev/null +++ b/external/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/external/meta-openembedded/meta-oe/recipes-devtools/guider/guider_3.9.6.bb b/external/meta-openembedded/meta-oe/recipes-devtools/guider/guider_3.9.6.bb new file mode 100644 index 00000000..f0590021 --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/guider/guider_3.9.6.bb @@ -0,0 +1,39 @@ +SUMMARY = "runtime performance analyzer" +HOMEPAGE = "https://github.com/iipeace/guider" +BUGTRACKER = "https://github.com/iipeace/guider/issues" +AUTHOR = "Peace Lee <ipeace5@gmail.com>" + +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://LICENSE;md5=2c1c00f9d3ed9e24fa69b932b7e7aff2" + +PV = "3.9.6+git${SRCPV}" +PR = "r0" + +SRC_URI = "git://github.com/iipeace/${BPN}" +#SRCREV = "${AUTOREV}" +SRCREV = "fef25c41efb9bde0614ea477d0b90bd9565ae0b4" + +S = "${WORKDIR}/git" +R = "${RECIPE_SYSROOT}" + +inherit ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "distutils", "", d)} + +GUIDER_OBJ = "guider.pyc" +GUIDER_SCRIPT = "guider" + +do_install() { + python ${S}/setup.py install + + install -d ${D}${bindir} + install -v -m 0755 ${STAGING_BINDIR_NATIVE}/${GUIDER_SCRIPT} ${D}${bindir}/${GUIDER_SCRIPT} + + install -d ${D}${datadir}/${BPN} + install -v -m 0755 ${STAGING_LIBDIR_NATIVE}/python${PYTHON_BASEVERSION}/site-packages/${BPN}/${GUIDER_OBJ} ${D}${datadir}/${BPN}/${GUIDER_OBJ} +} + +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/external/meta-openembedded/meta-oe/recipes-devtools/jq/jq/Support-without-oniguruma.patch b/external/meta-openembedded/meta-oe/recipes-devtools/jq/jq/Support-without-oniguruma.patch deleted file mode 100644 index 1dfd955f..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/jq/jq/Support-without-oniguruma.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 18b4b18b41f5ed396d73449ce8d6ec408d95d6b2 Mon Sep 17 00:00:00 2001 -From: David Tolnay <dtolnay@gmail.com> -Date: Sat, 21 Nov 2015 10:05:37 -0800 -Subject: [PATCH] Support --without-oniguruma - -Upstream-Status: Backport - -Signed-off-by: Andre McCurdy <armccurdy@gmail.com> - ---- - configure.ac | 41 ++++++++++++++++++++--------------------- - 1 file changed, 20 insertions(+), 21 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 9e2c8cf..7f6be34 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -52,27 +52,26 @@ fi - AC_ARG_WITH([oniguruma], - [AS_HELP_STRING([--with-oniguruma=prefix], - [try this for a non-standard install prefix of the oniguruma library])], -- [ONIGURUMAPATHSET=1], -- [ONIGURUMAPATHSET=0]) -- --if test $ONIGURUMAPATHSET = 1; then -- CFLAGS="$CFLAGS -I${with_oniguruma}/include" -- LDFLAGS="$LDFLAGS -L${with_oniguruma}/lib" --fi -- --# check for ONIGURUMA library --HAVE_ONIGURUMA=0 --AC_CHECK_HEADER("oniguruma.h", -- AC_CHECK_LIB([onig],[onig_version],[LIBS="$LIBS -lonig"; HAVE_ONIGURUMA=1;])) -- --# handle check results --if test $HAVE_ONIGURUMA != 1; then -- AC_MSG_NOTICE([Oniguruma was not found.]) -- AC_MSG_NOTICE([ Try setting the location using '--with-oniguruma=PREFIX' ]) --else -- AC_DEFINE([HAVE_ONIGURUMA],1,[Define to 1 if Oniguruma is installed]) --fi -- -+ [], -+ [with_oniguruma=yes]) -+ -+AS_IF([test "x$with_oniguruma" != xno], [ -+ AS_IF([test "x$with_oniguruma" != xyes], [ -+ CFLAGS="$CFLAGS -I${with_oniguruma}/include" -+ LDFLAGS="$LDFLAGS -L${with_oniguruma}/lib" -+ ]) -+ # check for ONIGURUMA library -+ have_oniguruma=0 -+ AC_CHECK_HEADER("oniguruma.h", -+ AC_CHECK_LIB([onig],[onig_version],[LIBS="$LIBS -lonig"; have_oniguruma=1;])) -+ # handle check results -+ AS_IF([test $have_oniguruma = 1], [ -+ AC_DEFINE([HAVE_ONIGURUMA], 1, [Define to 1 if Oniguruma is installed]) -+ ], [ -+ AC_MSG_NOTICE([Oniguruma was not found.]) -+ AC_MSG_NOTICE([Try setting the location using '--with-oniguruma=PREFIX']) -+ ]) -+]) - - dnl Check for valgrind - AC_CHECK_PROGS(valgrind_cmd, valgrind) --- -1.9.1 - diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/jq/jq_1.5.bb b/external/meta-openembedded/meta-oe/recipes-devtools/jq/jq_1.6.bb index 0f40815c..bfaeed5f 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/jq/jq_1.5.bb +++ b/external/meta-openembedded/meta-oe/recipes-devtools/jq/jq_1.6.bb @@ -6,16 +6,17 @@ HOMEPAGE = "https://stedolan.github.io/jq/" BUGTRACKER = "https://github.com/stedolan/jq/issues" SECTION = "utils" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=29dd0c35d7e391bb8d515eacf7592e00" +LIC_FILES_CHKSUM = "file://COPYING;md5=15d03e360fa7399f76d5a4359fc72cbf" -SRC_URI = "https://github.com/stedolan/${BPN}/releases/download/${BP}/${BP}.tar.gz \ - file://Support-without-oniguruma.patch \ -" +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] = "0933532b086bd8b6a41c1b162b1731f9" -SRC_URI[sha256sum] = "c4d2bfec6436341113419debf479d833692cc5cdab7eb0326b5a4d4fbe9f493c" +SRC_URI[md5sum] = "e68fbd6a992e36f1ac48c99bbf825d6b" +SRC_URI[sha256sum] = "5de8c8e29aaa3fb9cc6b47bb27299f271354ebb72514e3accadc7d38b5bbaa72" -inherit autotools +inherit autotools-brokensep PACKAGECONFIG ?= "oniguruma" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.8.4.bb b/external/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.3.bb index 88e33203..97c6361a 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.8.4.bb +++ b/external/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.3.bb @@ -11,7 +11,7 @@ SECTION = "libs" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=fa2a23dd1dc6c139f35105379d76df2b" -SRCREV = "ddabf50f72cf369bf652a95c4d9fe31a1865a781" +SRCREV = "6aba23f4a8628d599a9ef7fa4811c4ff6e4070e2" SRC_URI = "git://github.com/open-source-parsers/jsoncpp" S = "${WORKDIR}/git" @@ -19,3 +19,5 @@ S = "${WORKDIR}/git" inherit cmake EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON -DJSONCPP_WITH_TESTS=OFF" + +BBCLASSEXTEND = "native" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-cmake-replace-hardcoded-lib-CMAKE_LIBRARY_PATH-with-.patch b/external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-cmake-replace-hardcoded-lib-CMAKE_LIBRARY_PATH-with-.patch deleted file mode 100644 index 748e4da1..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-cmake-replace-hardcoded-lib-CMAKE_LIBRARY_PATH-with-.patch +++ /dev/null @@ -1,77 +0,0 @@ -From ac61124df17ab76527508bbb9a3115d4d6cc1af6 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Mon, 21 Nov 2016 11:26:26 -0800 -Subject: [PATCH] cmake: replace hardcoded lib/${CMAKE_LIBRARY_PATH} with - {CMAKE_INSTALL_LIBDIR} - -Fixes -| CMake Error at src/jsonrpccpp/CMakeLists.txt:207 (install): -| install TARGETS given unknown argument "/lib". - -and - -Wrong install paths during cross compile - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - src/jsonrpccpp/CMakeLists.txt | 8 ++++---- - src/stubgenerator/CMakeLists.txt | 6 +++--- - 2 files changed, 7 insertions(+), 7 deletions(-) - -diff --git a/src/jsonrpccpp/CMakeLists.txt b/src/jsonrpccpp/CMakeLists.txt -index e4a1eb5..13f9056 100644 ---- a/src/jsonrpccpp/CMakeLists.txt -+++ b/src/jsonrpccpp/CMakeLists.txt -@@ -205,15 +205,15 @@ if (WIN32) - endif() - - install(TARGETS ${ALL_LIBS} -- LIBRARY DESTINATION lib${LIB_SUFFIX}/${CMAKE_LIBRARY_PATH} -- ARCHIVE DESTINATION lib${LIB_SUFFIX}/${CMAKE_LIBRARY_PATH} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - RUNTIME DESTINATION bin - ) - - #set pkg-config - get_filename_component(FULL_PATH_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} ABSOLUTE) - set(FULL_PATH_INCLUDEDIR "${FULL_PATH_INSTALL_PREFIX}/include") --set(FULL_PATH_LIBDIR "${FULL_PATH_INSTALL_PREFIX}/lib/${CMAKE_LIBRARY_PATH}") -+set(FULL_PATH_LIBDIR "${FULL_PATH_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") - - CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/cmake/libjsonrpccpp-client.pc.cmake ${CMAKE_BINARY_DIR}/libjsonrpccpp-client.pc) - CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/cmake/libjsonrpccpp-server.pc.cmake ${CMAKE_BINARY_DIR}/libjsonrpccpp-server.pc) -@@ -223,6 +223,6 @@ INSTALL(FILES - "${CMAKE_BINARY_DIR}/libjsonrpccpp-server.pc" - "${CMAKE_BINARY_DIR}/libjsonrpccpp-client.pc" - "${CMAKE_BINARY_DIR}/libjsonrpccpp-common.pc" -- DESTINATION "lib${LIB_SUFFIX}/${CMAKE_LIBRARY_PATH}/pkgconfig") -+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") - - -diff --git a/src/stubgenerator/CMakeLists.txt b/src/stubgenerator/CMakeLists.txt -index f9dbe4c..b57b0fe 100644 ---- a/src/stubgenerator/CMakeLists.txt -+++ b/src/stubgenerator/CMakeLists.txt -@@ -58,15 +58,15 @@ CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/cmake/libjsonrpccpp-stub.pc.cmake ${CMAKE_BIN - - INSTALL(FILES - "${CMAKE_BINARY_DIR}/libjsonrpccpp-stub.pc" -- DESTINATION "lib/${CMAKE_LIBRARY_PATH}/pkgconfig") -+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") - - install(DIRECTORY ${CMAKE_SOURCE_DIR}/src/stubgenerator/ - DESTINATION include/jsonrpccpp/stubgen - FILES_MATCHING PATTERN "*.h") - - install(TARGETS ${ALL_LIBS} jsonrpcstub -- LIBRARY DESTINATION lib${LIB_SUFFIX}/${CMAKE_LIBRARY_PATH} -- ARCHIVE DESTINATION lib${LIB_SUFFIX}/${CMAKE_LIBRARY_PATH} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - RUNTIME DESTINATION bin - ) - --- -2.10.2 - diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorclient-Typecast-min-arguments-correctl.patch b/external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorclient-Typecast-min-arguments-correctl.patch deleted file mode 100644 index d21e9795..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorclient-Typecast-min-arguments-correctl.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 9500f12f5d827840634311d6ca972d9551211e4d Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Mon, 21 Nov 2016 01:00:51 -0800 -Subject: [PATCH] filedescriptorclient: Typecast min() arguments correctly - -Fixes - -| /mnt/a/build/tmp-glibc/work/cortexa7hf-neon-vfpv4-oe-linux-gnueabi/jsonrpc/0.7.0-r0/git/src/jsonrpccp -p/client/connectors/filedescriptorclient.cpp:47:92: note: deduced conflicting types for parameter 'co -nst _Tp' ('unsigned int' and 'long unsigned int') -| ssize_t byteWritten = write(outputfd, toSend.c_str(), min(toSend.size(), MAX_WRITE_SIZE)); - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - src/jsonrpccpp/client/connectors/filedescriptorclient.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/jsonrpccpp/client/connectors/filedescriptorclient.cpp b/src/jsonrpccpp/client/connectors/filedescriptorclient.cpp -index 77aac7e..6325b5c 100644 ---- a/src/jsonrpccpp/client/connectors/filedescriptorclient.cpp -+++ b/src/jsonrpccpp/client/connectors/filedescriptorclient.cpp -@@ -43,7 +43,7 @@ void FileDescriptorClient::SendRPCMessage(const std::string& message, - string toSend = message; - do - { -- ssize_t byteWritten = write(outputfd, toSend.c_str(), min(toSend.size(), MAX_WRITE_SIZE)); -+ ssize_t byteWritten = write(outputfd, toSend.c_str(), min((long unsigned int)toSend.size(), MAX_WRITE_SIZE)); - if (byteWritten < 1) - throw JsonRpcException(Errors::ERROR_CLIENT_CONNECTOR, - "Unknown error occured while writing to the output file descriptor"); --- -2.10.2 - diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorserver-Include-sys-select.h-before-oth.patch b/external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorserver-Include-sys-select.h-before-oth.patch deleted file mode 100644 index 3b9068a7..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorserver-Include-sys-select.h-before-oth.patch +++ /dev/null @@ -1,34 +0,0 @@ -From c7aad10628949e126f50e3264b5bc7eb417347c6 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Mon, 21 Nov 2016 01:25:10 -0800 -Subject: [PATCH] filedescriptorserver: Include sys/select.h before other - headers - -Fixes errors e.g. -| /mnt/a/build/tmp-glibc/work/cortexa7hf-neon-vfpv4-oe-linux-gnueabi/jsonrpc/0.7.0-r0/git/src/jsonrpccp -p/server/connectors/filedescriptorserver.h:63:7: error: unknown type name 'fd_set' -| fd_set read_fds; -| ^ - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - src/jsonrpccpp/server/connectors/filedescriptorserver.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/jsonrpccpp/server/connectors/filedescriptorserver.cpp b/src/jsonrpccpp/server/connectors/filedescriptorserver.cpp -index 9d74223..8e019ca 100644 ---- a/src/jsonrpccpp/server/connectors/filedescriptorserver.cpp -+++ b/src/jsonrpccpp/server/connectors/filedescriptorserver.cpp -@@ -7,8 +7,8 @@ - * @license See attached LICENSE.txt - ************************************************************************/ - --#include "filedescriptorserver.h" - #include <sys/select.h> -+#include "filedescriptorserver.h" - #include <sys/types.h> - #include <sys/stat.h> - #include <unistd.h> --- -2.10.2 - diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-memset-and-family-needs-to-include-string.h.patch b/external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-memset-and-family-needs-to-include-string.h.patch deleted file mode 100644 index 21ef98bf..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-memset-and-family-needs-to-include-string.h.patch +++ /dev/null @@ -1,26 +0,0 @@ -From f5416f1c2b2989f94163a2ae4b91c9b9fa13c620 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Fri, 31 Mar 2017 13:32:31 -0700 -Subject: [PATCH 1/2] memset() and family needs to include string.h - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - src/jsonrpccpp/server/connectors/unixdomainsocketserver.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/jsonrpccpp/server/connectors/unixdomainsocketserver.cpp b/src/jsonrpccpp/server/connectors/unixdomainsocketserver.cpp -index 9fca57b..e63c49e 100644 ---- a/src/jsonrpccpp/server/connectors/unixdomainsocketserver.cpp -+++ b/src/jsonrpccpp/server/connectors/unixdomainsocketserver.cpp -@@ -16,7 +16,7 @@ - #include <cstdio> - #include <fcntl.h> - #include <unistd.h> --#include <string> -+#include <cstring> - - using namespace jsonrpc; - using namespace std; --- -2.12.1 - diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0002-Fix-build-problem-on-Mac.patch b/external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0002-Fix-build-problem-on-Mac.patch deleted file mode 100644 index aece45b0..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0002-Fix-build-problem-on-Mac.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 79050ef9607f242e0d509969b19e9390220c3411 Mon Sep 17 00:00:00 2001 -From: Yongwei Wu <wuyongwei@gmail.com> -Date: Sat, 31 Dec 2016 11:57:11 +0800 -Subject: [PATCH 2/2] Fix build problem on Mac. - -__suseconds_t is not defined on Mac/BSD; use the POSIX-conformant -suseconds_t. ---- - src/jsonrpccpp/server/connectors/filedescriptorserver.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/jsonrpccpp/server/connectors/filedescriptorserver.cpp b/src/jsonrpccpp/server/connectors/filedescriptorserver.cpp -index 8e019ca..68107f2 100644 ---- a/src/jsonrpccpp/server/connectors/filedescriptorserver.cpp -+++ b/src/jsonrpccpp/server/connectors/filedescriptorserver.cpp -@@ -122,7 +122,7 @@ int FileDescriptorServer::WaitForRead() { - FD_ZERO(&except_fds); - FD_SET(inputfd, &read_fds); - timeout.tv_sec = 0; -- timeout.tv_usec = (__suseconds_t) (READ_TIMEOUT * 1000000); -+ timeout.tv_usec = (suseconds_t) (READ_TIMEOUT * 1000000); - // Wait for something to read - return select(inputfd + 1, &read_fds, &write_fds, &except_fds, &timeout); - } --- -2.12.1 - diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_0.7.0.bb b/external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_0.7.0.bb deleted file mode 100644 index eb1ff65b..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_0.7.0.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "C++ framework for json-rpc 1.0 and 2.0" -DESCRIPTION = "JsonRpc-Cpp is an OpenSource implementation of JSON-RPC \ - protocol in C++. JSON-RPC is a lightweight remote procedure \ - call protocol similar to XML-RPC." -HOMEPAGE = "https://github.com/cinemast/libjson-rpc-cpp" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=ee72d601854d5d2a065cf642883c489b" - -PV = "0.7.0+git${SRCPV}" - -SRC_URI = "git://github.com/cinemast/libjson-rpc-cpp \ - file://0001-cmake-replace-hardcoded-lib-CMAKE_LIBRARY_PATH-with-.patch \ - file://0001-filedescriptorclient-Typecast-min-arguments-correctl.patch \ - file://0001-filedescriptorserver-Include-sys-select.h-before-oth.patch \ - file://0001-memset-and-family-needs-to-include-string.h.patch \ - file://0002-Fix-build-problem-on-Mac.patch \ - " -SRCREV = "ccbdb41388bdd929828941652da816bf52a0580e" - -SECTION = "libs" - -DEPENDS = "curl jsoncpp libmicrohttpd" - -S = "${WORKDIR}/git" - -inherit cmake - -EXTRA_OECMAKE += "-DCOMPILE_TESTS=NO -DCOMPILE_STUBGEN=NO -DCOMPILE_EXAMPLES=NO \ - -DBUILD_SHARED_LIBS=YES -DBUILD_STATIC_LIBS=YES \ - -DCMAKE_LIBRARY_PATH=${libdir} \ -" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_1.3.0.bb b/external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_1.3.0.bb new file mode 100644 index 00000000..ca9675ed --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_1.3.0.bb @@ -0,0 +1,27 @@ +SUMMARY = "C++ framework for json-rpc 1.0 and 2.0" +DESCRIPTION = "JsonRpc-Cpp is an OpenSource implementation of JSON-RPC \ + protocol in C++. JSON-RPC is a lightweight remote procedure \ + call protocol similar to XML-RPC." +HOMEPAGE = "https://github.com/cinemast/libjson-rpc-cpp" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4e728c5b36018f6c383b4b9efd9c8840" +SECTION = "libs" + +DEPENDS = "curl jsoncpp libmicrohttpd hiredis" + +SRC_URI = "git://github.com/cinemast/libjson-rpc-cpp" +SRCREV = "c696f6932113b81cd20cd4a34fdb1808e773f23e" + +S = "${WORKDIR}/git" + +PACKAGECONFIG ?= "" +PACKAGECONFIG[coverage] = "-DWITH_COVERAGE=YES,-DWITH_COVERAGE=NO,," + +inherit cmake + +EXTRA_OECMAKE += "-DCOMPILE_TESTS=NO -DCOMPILE_STUBGEN=NO -DCOMPILE_EXAMPLES=NO \ + -DBUILD_SHARED_LIBS=YES -DBUILD_STATIC_LIBS=YES \ + -DCMAKE_LIBRARY_PATH=${libdir} \ +" + +FILES_${PN}-dev += "${libdir}/libjson-rpc-cpp/cmake" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/kconfig-frontends/kconfig-frontends_4.11.0.1.bb b/external/meta-openembedded/meta-oe/recipes-devtools/kconfig-frontends/kconfig-frontends_4.11.0.1.bb index de9a6eb9..ec959d27 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/kconfig-frontends/kconfig-frontends_4.11.0.1.bb +++ b/external/meta-openembedded/meta-oe/recipes-devtools/kconfig-frontends/kconfig-frontends_4.11.0.1.bb @@ -7,13 +7,13 @@ the effort of keeping an up-to-date, out-of-tree, packaging of the \ kconfig infrastructure, ready for use by third-party projects. \ The kconfig-frontends package provides the kconfig parser, as well as all \ the frontends" -HOMEPAGE = "http://ymorin.is-a-geek.org/projects/kconfig-frontends" +HOMEPAGE = "https://gitlab.com/ymorin/kconfig-frontends" LICENSE = "GPL-2.0" LIC_FILES_CHKSUM = "file://COPYING;md5=9b8cf60ff39767ff04b671fca8302408" SECTION = "devel" -DEPENDS += "ncurses flex bison gperf-native bison-native" +DEPENDS += "ncurses flex-native gperf-native bison-native" RDEPENDS_${PN} += "python3 bash" -SRC_URI = "git://ymorin.is-a-geek.org/kconfig-frontends;branch=4.11.x \ +SRC_URI = "git://gitlab.com/ymorin/kconfig-frontends.git;protocol=https;branch=4.11.x \ file://0001-Makefile-ensure-frontends-exits-before-writing-into-.patch \ file://0001-Switch-utils-kconfig-diff-to-use-Python-3.patch" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/lapack/lapack_3.8.0.bb b/external/meta-openembedded/meta-oe/recipes-devtools/lapack/lapack_3.9.0.bb index 7544744b..62d4df5e 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/lapack/lapack_3.8.0.bb +++ b/external/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/external/meta-openembedded/meta-oe/recipes-devtools/ldns/ldns_1.7.1.bb b/external/meta-openembedded/meta-oe/recipes-devtools/ldns/ldns_1.7.1.bb new file mode 100644 index 00000000..2a52dd68 --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/ldns/ldns_1.7.1.bb @@ -0,0 +1,18 @@ +SUMMARY = "LDNS is a DNS library that facilitates DNS tool programming" +HOMEPAGE = "https://nlnetlabs.nl/ldns" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=34330f15b2b4abbbaaa7623f79a6a019" + +SRC_URI = "https://www.nlnetlabs.nl/downloads/ldns/ldns-${PV}.tar.gz" +SRC_URI[md5sum] = "166262a46995d9972aba417fd091acd5" +SRC_URI[sha256sum] = "8ac84c16bdca60e710eea75782356f3ac3b55680d40e1530d7cea474ac208229" + +DEPENDS = "openssl" + +inherit autotools-brokensep + +PACKAGECONFIG ??= "" +PACKAGECONFIG[drill] = "--with-drill,--without-drill" + +EXTRA_OECONF = "--with-ssl=${STAGING_EXECPREFIXDIR} \ + libtool=${TARGET_PREFIX}libtool" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit/stdc-predef.patch b/external/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit/stdc-predef.patch deleted file mode 100644 index c95cdc9d..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit/stdc-predef.patch +++ /dev/null @@ -1,17 +0,0 @@ -__STDC_ISO_10646__ is defined in stdc-predef.h -therefore include it to see if its there on a platform - -Signed-off-by: Khem Raj <raj.khem@gmail.com> - -Index: libedit-20160903-3.1/src/chartype.h -=================================================================== ---- libedit-20160903-3.1.orig/src/chartype.h -+++ libedit-20160903-3.1/src/chartype.h -@@ -29,6 +29,7 @@ - #ifndef _h_chartype_f - #define _h_chartype_f - -+#include <stdc-predef.h> - /* Ideally we should also test the value of the define to see if it - * supports non-BMP code points without requiring UTF-16, but nothing - * seems to actually advertise this properly, despite Unicode 3.1 having diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit_20180525-3.1.bb b/external/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit_20180525-3.1.bb deleted file mode 100644 index 60f4f5a2..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit_20180525-3.1.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "BSD replacement for libreadline" -DESCRIPTION = "Command line editor library providing generic line editing, \ -history, and tokenization functions" -HOMEPAGE = "http://www.thrysoee.dk/editline/" -SECTION = "libs" -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://COPYING;md5=1e4228d0c5a9093b01aeaaeae6641533" - -DEPENDS = "ncurses" - -inherit autotools - -# upstream site does not allow wget's User-Agent -FETCHCMD_wget += "-U bitbake" -SRC_URI = "http://www.thrysoee.dk/editline/${BPN}-${PV}.tar.gz \ - file://stdc-predef.patch \ - " -SRC_URI[md5sum] = "97679319742f45d6cdcd6075511b14ac" -SRC_URI[sha256sum] = "c41bea8fd140fb57ba67a98ec1d8ae0b8ffa82f4aba9c35a87e5a9499e653116" - -S = "${WORKDIR}/${BPN}-${PV}" - -BBCLASSEXTEND = "native nativesdk" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.18.0.bb b/external/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.3.bb index 6386f1ff..576eff6d 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.18.0.bb +++ b/external/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.3.bb @@ -9,8 +9,8 @@ LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" PE = "1" +inherit gnomebase vala gobject-introspection -inherit autotools vala pkgconfig gobject-introspection do_configure_prepend() { MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4" for i in ${MACROS}; do @@ -18,7 +18,5 @@ do_configure_prepend() { done } -SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}" -SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/libgee/${SHRT_VER}/${BP}.tar.xz" -SRC_URI[md5sum] = "29ea6125e653d7e60b49a9a9544abc96" -SRC_URI[sha256sum] = "4ad99ef937d071b4883c061df40bfe233f7649d50c354cf81235f180b4244399" +SRC_URI[archive.md5sum] = "e574b3952b93d219b5ec7c74c5892c33" +SRC_URI[archive.sha256sum] = "d0b5edefc88cbca5f1709d19fa62aef490922c6577a14ac4e7b085507911a5de" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-Add-CMake-build-files.patch b/external/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-Add-CMake-build-files.patch deleted file mode 100644 index 560c3a6d..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-Add-CMake-build-files.patch +++ /dev/null @@ -1,302 +0,0 @@ -From 613297214d78ee10111e74e90e025166ebbcad9f Mon Sep 17 00:00:00 2001 -From: Peter Liu <peter.x.liu@external.atlascopco.com> -Date: Sun, 5 Mar 2017 16:15:40 +0100 -Subject: [PATCH] Add CMake build files - -Upstream-Status: Pending - -Signed-off-by: Peter Liu <peter.x.liu@external.atlascopco.com> ---- - CMakeLists.txt | 147 +++++++++++++++++++++++++++++++++++++++++++++++++++++ - FindLibRcf.cmake | 63 +++++++++++++++++++++++ - VERSION.cmake | 21 ++++++++ - src/CMakeLists.txt | 25 +++++++++ - 4 files changed, 256 insertions(+) - create mode 100644 CMakeLists.txt - create mode 100644 FindLibRcf.cmake - create mode 100644 VERSION.cmake - create mode 100755 src/CMakeLists.txt - -diff --git a/CMakeLists.txt b/CMakeLists.txt -new file mode 100644 -index 0000000..f6e24be ---- /dev/null -+++ b/CMakeLists.txt -@@ -0,0 +1,147 @@ -+PROJECT (librcf) -+ -+CMAKE_MINIMUM_REQUIRED (VERSION 2.6) -+ -+#################################################################### -+# OPTION # -+#################################################################### -+OPTION (LIBRCF_USE_OPENSSL "Build with OpenSSL support?" OFF) -+OPTION (LIBRCF_OPENSSL_STATIC "Enable static linking to OpenSSL?" OFF) -+OPTION (LIBRCF_USE_ZLIB "Build with zlib support?" OFF) -+OPTION (LIBRCF_ZLIB_STATIC "Enable static linking to zlib?" OFF) -+OPTION (LIBRCF_USE_SF_SERIALIZATION "Build with SF serialization support?" ON) -+OPTION (LIBRCF_USE_BOOST_SERIALIZATION "Build with Boost.Serialization support?" OFF) -+OPTION (LIBRCF_USE_BOOST_FILESYSTEM "Build with Boost.Filesystem support (required for file transfer support)?" OFF) -+OPTION (LIBRCF_USE_BOOST_ASIO "Build with Boost asio support?" ON) -+OPTION (LIBRCF_USE_PROTOBUF "Build with Protocol Buffer support?" OFF) -+OPTION (LIBRCF_USE_JSON "Build with JSON Spirit (required for JSON-RPC support)?" OFF) -+OPTION (LIBRCF_USE_IPV6 "Build with IPv6 support?" OFF) -+OPTION (LIBRCF_USE_CUSTOM_ALLOCATOR "Build with custom allocator support?" OFF) -+OPTION (LIBRCF_BUILD_DLL "Build a DLL exporting RCF?" OFF) -+OPTION (LIBRCF_AUTO_INIT_DEINIT "Enable automatic RCF initialization and deinitialization?" OFF) -+OPTION (LIBRCF_BUILD_STATIC_LIBS "Build the static library?" ON) -+OPTION (LIBRCF_BUILD_SHARED_LIBS "Build the shared library?" ON) -+OPTION (LIBRCF_BUILD_DEMOS "Build demo programs?" ON) -+ -+#################################################################### -+# CONFIGURATION # -+#################################################################### -+INCLUDE (${CMAKE_SOURCE_DIR}/VERSION.cmake) -+ -+SET (LIBRCF_LIBRARIES "-lpthread -ldl -latomic") -+INCLUDE_DIRECTORIES (${CMAKE_SOURCE_DIR}/include) -+ -+IF (LIBRCF_USE_OPENSSL) -+ IF (NOT OPENSSL_FOUND) -+ FIND_PACKAGE (OpenSSL REQUIRED) -+ ENDIF (NOT OPENSSL_FOUND) -+ INCLUDE_DIRECTORIES (${OPENSSL_INCLUDE_DIR}) -+ ADD_DEFINITIONS (-DRCF_USE_OPENSSL) -+ENDIF (LIBRCF_USE_OPENSSL) -+ -+IF (LIBRCF_OPENSSL_STATIC) -+ LIST (APPEND LIBRCF_LIBRARIES ${OPENSSL_LIBRARIES}) -+ ADD_DEFINITIONS (-DRCF_OPENSSL_STATIC) -+ENDIF (LIBRCF_OPENSSL_STATIC) -+ -+IF (LIBRCF_USE_ZLIB) -+ IF (NOT ZLIB_FOUND) -+ FIND_PACKAGE (ZLIB REQUIRED) -+ ENDIF (NOT ZLIB_FOUND) -+ INCLUDE_DIRECTORIES (${ZLIB_INCLUDE_DIR}) -+ ADD_DEFINITIONS (-DRCF_USE_ZLIB) -+ENDIF (LIBRCF_USE_ZLIB) -+ -+IF (LIBRCF_ZLIB_STATIC) -+ LIST (APPEND LIBRCF_LIBRARIES ${ZLIB_LIBRARIES}) -+ ADD_DEFINITIONS (-DRCF_ZLIB_STATIC) -+ENDIF (LIBRCF_ZLIB_STATIC) -+ -+IF (LIBRCF_USE_SF_SERIALIZATION) -+ IF (NOT Boost_SYSTEM_FOUND) -+ FIND_PACKAGE (Boost REQUIRED COMPONENTS system) -+ ENDIF (NOT Boost_SYSTEM_FOUND) -+ INCLUDE_DIRECTORIES (${Boost_INCLUDE_DIR}) -+ LIST (APPEND LIBRCF_LIBRARIES ${Boost_SYSTEM_LIBRARY}) -+ ADD_DEFINITIONS (-DRCF_USE_SF_SERIALIZATION) -+ENDIF (LIBRCF_USE_SF_SERIALIZATION) -+ -+IF (LIBRCF_USE_BOOST_SERIALIZATION) -+ IF (NOT Boost_SERIALIZATION_FOUND) -+ FIND_PACKAGE (Boost REQUIRED COMPONENTS serialization) -+ ENDIF (NOT Boost_SERIALIZATION_FOUND) -+ INCLUDE_DIRECTORIES (${Boost_INCLUDE_DIR}) -+ LIST (APPEND LIBRCF_LIBRARIES ${Boost_SERIALIZATION_LIBRARY}) -+ ADD_DEFINITIONS (-DRCF_USE_BOOST_SERIALIZATION) -+ENDIF (LIBRCF_USE_BOOST_SERIALIZATION) -+ -+IF (LIBRCF_USE_BOOST_FILESYSTEM) -+ IF (NOT Boost_FILESYSTEM_FOUND) -+ FIND_PACKAGE (Boost REQUIRED COMPONENTS filesystem system) -+ ENDIF (NOT Boost_FILESYSTEM_FOUND) -+ INCLUDE_DIRECTORIES (${Boost_INCLUDE_DIR}) -+ LIST (APPEND LIBRCF_LIBRARIES ${Boost_FILESYSTEM_LIBRARY}) -+ LIST (APPEND LIBRCF_LIBRARIES ${Boost_SYSTEM_LIBRARY}) -+ ADD_DEFINITIONS (-DRCF_USE_BOOST_FILESYSTEM) -+ENDIF (LIBRCF_USE_BOOST_FILESYSTEM) -+ -+IF (LIBRCF_USE_BOOST_ASIO) -+ IF (NOT Boost_FOUND) -+ FIND_PACKAGE (Boost REQUIRED) -+ ENDIF (NOT Boost_FOUND) -+ INCLUDE_DIRECTORIES (${Boost_INCLUDE_DIR}) -+ ADD_DEFINITIONS (-DRCF_USE_BOOST_ASIO) -+ENDIF (LIBRCF_USE_BOOST_ASIO) -+ -+IF (LIBRCF_USE_PROTOBUF) -+ IF(NOT Protobuf_FOUND) -+ FIND_PACKAGE (Protobuf REQUIRED) -+ ENDIF (NOT Protobuf_FOUND) -+ INCLUDE_DIRECTORIES (${Protobuf_INCLUDE_DIR}) -+ LIST (APPEND LIBRCF_LIBRARIES ${Protobuf_LIBRARIES}) -+ ADD_DEFINITIONS (-DRCF_USE_PROTOBUF) -+ENDIF (LIBRCF_USE_PROTOBUF) -+ -+IF (LIBRCF_USE_JSON) -+ IF (NOT LibJsonSpirit_FOUND) -+ FIND_PACKAGE (LibJsonSpirit REQUIRED) -+ ENDIF (NOT LibJsonSpirit_FOUND) -+ INCLUDE_DIRECTORIES (${LibJsonSpirit_INCLUDE_DIR}) -+ LIST (APPEND LIBRCF_LIBRARIES ${LibJsonSpirit_LIBRARIES}) -+ ADD_DEFINITIONS (-DRCF_USE_JSON) -+ENDIF (LIBRCF_USE_JSON) -+ -+IF (LIBRCF_USE_IPV6) -+ ADD_DEFINITIONS (-DRCF_USE_IPV6) -+ENDIF (LIBRCF_USE_IPV6) -+ -+IF (LIBRCF_USE_CUSTOM_ALLOCATOR) -+ ADD_DEFINITIONS (-DRCF_USE_CUSTOM_ALLOCATOR) -+ENDIF (LIBRCF_USE_CUSTOM_ALLOCATOR) -+ -+IF (LIBRCF_BUILD_DLL) -+ ADD_DEFINITIONS (-DRCF_BUILD_DLL) -+ENDIF (LIBRCF_BUILD_DLL) -+ -+IF (LIBRCF_AUTO_INIT_DEINIT) -+ ADD_DEFINITIONS (-DRCF_AUTO_INIT_DEINIT) -+ENDIF (LIBRCF_AUTO_INIT_DEINIT) -+ -+#################################################################### -+# SUBDIRECTORY # -+#################################################################### -+ADD_SUBDIRECTORY (src) -+ -+IF (LIBRCF_BUILD_DEMOS) -+ # Server -+ ADD_EXECUTABLE (RcfServer demo/Server.cpp) -+ TARGET_LINK_LIBRARIES (RcfServer rcf ${LIBRCF_LIBRARIES}) -+ INSTALL (TARGETS RcfServer DESTINATION ${CMAKE_INSTALL_BINDIR}) -+ -+ # Client -+ ADD_EXECUTABLE (RcfClient demo/Client.cpp) -+ TARGET_LINK_LIBRARIES (RcfClient rcf ${LIBRCF_LIBRARIES}) -+ INSTALL (TARGETS RcfClient DESTINATION ${CMAKE_INSTALL_BINDIR}) -+ENDIF (LIBRCF_BUILD_DEMOS) -+ -+INSTALL (FILES ${CMAKE_SOURCE_DIR}/FindLibRcf.cmake DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/cmake/Modules) -diff --git a/FindLibRcf.cmake b/FindLibRcf.cmake -new file mode 100644 -index 0000000..9d7d8cd ---- /dev/null -+++ b/FindLibRcf.cmake -@@ -0,0 +1,63 @@ -+# FindLibRcf - Find librcf headers and libraries. -+# -+# Sample: -+# -+# SET( LibRcf_USE_STATIC_LIBS OFF ) -+# FIND_PACKAGE( LibRcf REQUIRED ) -+# IF( LibRcf_FOUND ) -+# INCLUDE_DIRECTORIES( ${LibRcf_INCLUDE_DIRS} ) -+# TARGET_LINK_LIBRARIES( ... ${LibRcf_LIBRARIES} ) -+# ENDIF() -+# -+# Variables used by this module need to be set before calling find_package -+# -+# LibRcf_USE_STATIC_LIBS Can be set to ON to force the use of the static -+# librcf libraries. Defaults to OFF. -+# -+# Variables provided by this module: -+# -+# LibRcf_FOUND Include dir, librcf libraries. -+# -+# LibRcf_LIBRARIES Link to these to use all the libraries you specified. -+# -+# LibRcf_INCLUDE_DIRS Include directories. -+# -+# For each component you specify in find_package(), the following (UPPER-CASE) -+# variables are set to pick and choose components instead of just using LibRcf_LIBRARIES: -+# -+# LIBRCF_FOUND TRUE if librcf was found -+# LIBRCF_LIBRARY librcf libraries -+# -+ -+# Support preference of static libs by adjusting CMAKE_FIND_LIBRARY_SUFFIXES -+IF(LibRcf_USE_STATIC_LIBS) -+ SET( _ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES}) -+ SET(CMAKE_FIND_LIBRARY_SUFFIXES .a ) -+ENDIF() -+ -+# Look for the header files -+UNSET(LibRcf_INCLUDE_DIRS CACHE) -+FIND_PATH(LibRcf_INCLUDE_DIRS NAMES RCF/RcfClient.hpp) -+ -+# Look for the core library -+UNSET(LIBRCF_LIBRARY CACHE) -+FIND_LIBRARY(LIBRCF_LIBRARY NAMES rcf) -+FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibRcf DEFAULT_MSG LIBRCF_LIBRARY LibRcf_INCLUDE_DIRS) -+MARK_AS_ADVANCED( -+ LIBRCF_FOUND -+ LIBRCF_LIBRARY -+) -+ -+# Prepare return values and collectiong more components -+SET(LibRcf_FOUND ${LIBRCF_FOUND}) -+SET(LibRcf_LIBRARIES ${LIBRCF_LIBRARY}) -+MARK_AS_ADVANCED( -+ LibRcf_FOUND -+ LibRcf_LIBRARIES -+ LibRcf_INCLUDE_DIRS -+) -+ -+# Restore CMAKE_FIND_LIBRARY_SUFFIXES -+IF(LibRcf_USE_STATIC_LIBS) -+ SET(CMAKE_FIND_LIBRARY_SUFFIXES ${_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES} ) -+ENDIF() -diff --git a/VERSION.cmake b/VERSION.cmake -new file mode 100644 -index 0000000..8b4bcdc ---- /dev/null -+++ b/VERSION.cmake -@@ -0,0 +1,21 @@ -+# ================================================== -+# Versioning -+# ========== -+# -+# MAJOR Major number for this branch. -+# -+# MINOR The most recent interface number this -+# library implements. -+# -+# COMPATMINOR The latest binary compatible minor number -+# this library implements. -+# -+# PATCH The implementation number of the current interface. -+# -+# -+# - The package VERSION will be MAJOR.MINOR.PATCH. -+# -+ -+SET (LIBRCF_SOVERSION_MAJOR "2") -+SET (LIBRCF_SOVERSION_MINOR "2") -+SET (LIBRCF_SOVERSION_PATCH "0") -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -new file mode 100755 -index 0000000..c227901 ---- /dev/null -+++ b/src/CMakeLists.txt -@@ -0,0 +1,25 @@ -+IF (NOT LIBRCF_BUILD_SHARED_LIBS) -+ ADD_LIBRARY (rcf STATIC RCF/RCF.cpp) -+ELSE (NOT LIBRCF_BUILD_SHARED_LIBS) -+ ADD_LIBRARY (rcf SHARED RCF/RCF.cpp) -+ TARGET_LINK_LIBRARIES (rcf ${LIBRCF_LIBRARIES}) -+ SET_TARGET_PROPERTIES (rcf PROPERTIES COMPILE_FLAGS ${CMAKE_SHARED_LIBRARY_C_FLAGS}) -+ SET_TARGET_PROPERTIES (rcf PROPERTIES VERSION ${LIBRCF_SOVERSION_MAJOR}.${LIBRCF_SOVERSION_MINOR}.${LIBRCF_SOVERSION_PATCH}) -+ENDIF (NOT LIBRCF_BUILD_SHARED_LIBS) -+ -+SET_TARGET_PROPERTIES (rcf PROPERTIES PROJECT_LABEL "RCF Library") -+SET_TARGET_PROPERTIES (rcf PROPERTIES OUTPUT_NAME "rcf") -+SET_TARGET_PROPERTIES (rcf PROPERTIES SOVERSION ${LIBRCF_SOVERSION_MAJOR}) -+SET_TARGET_PROPERTIES (rcf PROPERTIES INSTALL_NAME_DIR ${CMAKE_INSTALL_LIBDIR}) -+ -+INSTALL (DIRECTORY "${CMAKE_SOURCE_DIR}/include/RCF" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) -+INSTALL (DIRECTORY "${CMAKE_SOURCE_DIR}/include/SF" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) -+INSTALL (TARGETS rcf LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+ -+IF (LIBRCF_BUILD_STATIC_LIBS AND LIBRCF_BUILD_SHARED_LIBS) -+ ADD_LIBRARY (rcf_static STATIC RCF/RCF.cpp) -+ SET_TARGET_PROPERTIES (rcf_static PROPERTIES PROJECT_LABEL "RCF Static Library") -+ SET_TARGET_PROPERTIES (rcf_static PROPERTIES OUTPUT_NAME "rcf") -+ SET_TARGET_PROPERTIES (rcf_static PROPERTIES SOVERSION ${LIBRCF_SOVERSION_MAJOR}) -+ INSTALL (TARGETS rcf_static LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+ENDIF (LIBRCF_BUILD_STATIC_LIBS AND LIBRCF_BUILD_SHARED_LIBS) --- -1.9.1 - diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-Check-for-__powerpc__-define.patch b/external/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-Check-for-__powerpc__-define.patch deleted file mode 100644 index d91accf1..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-Check-for-__powerpc__-define.patch +++ /dev/null @@ -1,28 +0,0 @@ -From ac7316679e30f7013604b19aa0949a0744e91d2f Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Sat, 1 Jul 2017 13:06:30 -0700 -Subject: [PATCH] Check for __powerpc__ define - -Also check for gcc's internal define for ppc platform - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - src/RCF/ByteOrdering.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/RCF/ByteOrdering.cpp b/src/RCF/ByteOrdering.cpp -index 278ca80..9f9c446 100755 ---- a/src/RCF/ByteOrdering.cpp -+++ b/src/RCF/ByteOrdering.cpp -@@ -36,7 +36,7 @@ namespace RCF { - - const ByteOrder MachineByteOrder = BigEndian; - --#elif defined( __ppc__ ) -+#elif defined( __ppc__ ) || defined( __powerpc__ ) - - const ByteOrder MachineByteOrder = BigEndian; - --- -2.13.2 - diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-ClientStub.hpp-fix-a-clang-compiling-issue.patch b/external/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-ClientStub.hpp-fix-a-clang-compiling-issue.patch deleted file mode 100644 index e949dee4..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-ClientStub.hpp-fix-a-clang-compiling-issue.patch +++ /dev/null @@ -1,35 +0,0 @@ -From d78851b6f87f2472f041102d7b3726ffc009bfad Mon Sep 17 00:00:00 2001 -From: Ming Liu <peter.x.liu@external.atlascopco.com> -Date: Tue, 6 Jun 2017 05:54:20 +0200 -Subject: [PATCH] ClientStub.hpp: fix a clang compiling issue - -A error was observed with clang compiler, as follows: -| src/RCF/RCF.cpp:49: -| src/RCF/ClientStub.cpp:28: -| include/RCF/Future.hpp:49:26: error: 'enrol' is a private member of 'RCF::ClientStub' - -it can be fixed by declaring Future as a friend class of ClientStub. - -Upstream-Status: Pending - -Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com> ---- - include/RCF/ClientStub.hpp | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/include/RCF/ClientStub.hpp b/include/RCF/ClientStub.hpp -index 9882cf4..8465625 100755 ---- a/include/RCF/ClientStub.hpp -+++ b/include/RCF/ClientStub.hpp -@@ -372,6 +372,8 @@ namespace RCF { - - private: - -+ template<typename U> -+ friend class Future; - friend class FutureImplBase; - - template< --- -2.7.4 - diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/aarch64-support.patch b/external/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/aarch64-support.patch deleted file mode 100644 index e08efb92..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/aarch64-support.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: RCF-2.2.0.0/src/RCF/ByteOrdering.cpp -=================================================================== ---- RCF-2.2.0.0.orig/src/RCF/ByteOrdering.cpp -+++ RCF-2.2.0.0/src/RCF/ByteOrdering.cpp -@@ -60,7 +60,7 @@ namespace RCF { - - const ByteOrder MachineByteOrder = LittleEndian; - --#elif defined(__arm__) -+#elif defined(__arm__) || defined(__aarch64__) - - const ByteOrder MachineByteOrder = LittleEndian; - diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/mips-support.patch b/external/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/mips-support.patch deleted file mode 100644 index 4a327f78..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/mips-support.patch +++ /dev/null @@ -1,19 +0,0 @@ -Index: RCF-2.2.0.0/src/RCF/ByteOrdering.cpp -=================================================================== ---- RCF-2.2.0.0.orig/src/RCF/ByteOrdering.cpp -+++ RCF-2.2.0.0/src/RCF/ByteOrdering.cpp -@@ -64,6 +64,14 @@ namespace RCF { - - const ByteOrder MachineByteOrder = LittleEndian; - -+#elif defined(__mipsel__) || defined(__mips64el__) -+ -+ const ByteOrder MachineByteOrder = LittleEndian; -+ -+#elif defined( __mips__ ) || defined(__mips64__) -+ -+ const ByteOrder MachineByteOrder = BigEndian; -+ - #elif defined(__bfin__) - - const ByteOrder MachineByteOrder = LittleEndian; diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb b/external/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb deleted file mode 100644 index dcd47a4e..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb +++ /dev/null @@ -1,53 +0,0 @@ -SUMMARY = "RCF (Remote Call Framework) is a cross-platform interprocess communication framework for C++" -DESCRIPTION = "Unlike other communication frameworks, RCF doesn't use a separate \ -IDL (Interface Definition Language). RCF interfaces are defined directly in C++, \ -and serialization for user-defined data types likewise is implemented in C++. \ -Instead of a separate IDL compiler tool, RCF uses the C++ compiler to generate \ -client and server stubs." -HOMEPAGE = "http://www.deltavsoft.com/" -SECTION = "libs" -PRIORITY = "optional" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://license.txt;md5=7586a312b9e978f9d6fac9a5780d1f84" - -SRC_URI = "http://www.deltavsoft.com/downloads/RCF-${PV}.tar.gz \ - file://0001-Add-CMake-build-files.patch \ - file://aarch64-support.patch \ - file://0001-ClientStub.hpp-fix-a-clang-compiling-issue.patch \ - file://mips-support.patch \ - file://0001-Check-for-__powerpc__-define.patch \ - " - -SRC_URI[md5sum] = "7ecb3c73f7eb66dba8790b659374f690" -SRC_URI[sha256sum] = "bbfcc88de502c39604878c395f516b03fff4eac63eb4f7f44c07d433839712dd" - -S = "${WORKDIR}/RCF-${PV}" - -inherit cmake dos2unix - -PACKAGECONFIG ?= "zlib openssl sf-serialization boost-filesystem boost-asio protobuf json dll static shared demos" -PACKAGECONFIG[zlib] = "-DLIBRCF_USE_ZLIB=ON,-DLIBRCF_USE_ZLIB=OFF,zlib,zlib" -PACKAGECONFIG[zlib-static] = "-DLIBRCF_USE_ZLIB=ON -DLIBRCF_ZLIB_STATIC=ON,-DLIBRCF_ZLIB_STATIC=OFF,zlib," -PACKAGECONFIG[openssl] = "-DLIBRCF_USE_OPENSSL=ON,-DLIBRCF_USE_OPENSSL=OFF,openssl,libssl libcrypto" -PACKAGECONFIG[openssl-static] = "-DLIBRCF_USE_OPENSSL=ON -DLIBRCF_OPENSSL_STATIC=ON,-DLIBRCF_OPENSSL_STATIC=OFF,openssl," -PACKAGECONFIG[sf-serialization] = "-DLIBRCF_USE_SF_SERIALIZATION=ON,-DLIBRCF_USE_SF_SERIALIZATION=OFF,boost," -PACKAGECONFIG[boost-serialization] = "-DLIBRCF_USE_BOOST_SERIALIZATION=ON,-DLIBRCF_USE_BOOST_SERIALIZATION=OFF,boost," -PACKAGECONFIG[boost-filesystem] = "-DLIBRCF_USE_BOOST_FILESYSTEM=ON,-DLIBRCF_USE_BOOST_FILESYSTEM=OFF,boost," -PACKAGECONFIG[boost-asio] = "-DLIBRCF_USE_BOOST_ASIO=ON,-DLIBRCF_USE_BOOST_ASIO=OFF,boost," -PACKAGECONFIG[protobuf] = "-DLIBRCF_USE_PROTOBUF=ON,-DLIBRCF_USE_PROTOBUF=OFF,protobuf,protobuf" -PACKAGECONFIG[json] = "-DLIBRCF_USE_JSON=ON,-DLIBRCF_USE_JSON=OFF,json-spirit,json-spirit" -PACKAGECONFIG[ipv6] = "-DLIBRCF_USE_IPV6=ON,-DLIBRCF_USE_IPV6=OFF," -PACKAGECONFIG[custom-allocator] = "-DLIBRCF_USE_CUSTOM_ALLOCATOR=ON,-DLIBRCF_USE_CUSTOM_ALLOCATOR=OFF," -PACKAGECONFIG[dll] = "-DLIBRCF_BUILD_DLL=ON,-DLIBRCF_BUILD_DLL=OFF," -PACKAGECONFIG[auto-init-deinit] = "-DLIBRCF_AUTO_INIT_DEINIT=ON,-DLIBRCF_AUTO_INIT_DEINIT=OFF," -PACKAGECONFIG[static] = "-DLIBRCF_BUILD_STATIC_LIBS=ON,-DLIBRCF_BUILD_STATIC_LIBS=OFF," -PACKAGECONFIG[shared] = "-DLIBRCF_BUILD_SHARED_LIBS=ON,-DLIBRCF_BUILD_SHARED_LIBS=OFF," -PACKAGECONFIG[demos] = "-DLIBRCF_BUILD_DEMOS=ON,-DLIBRCF_BUILD_DEMOS=OFF," - -PACKAGES =+ "${@bb.utils.contains('PACKAGECONFIG', 'demos', '${PN}-demos', '', d)}" - -FILES_${PN}-demos = "${bindir}/*" - -BBCLASSEXTEND = "nativesdk" - -PNBLACKLIST[librcf] = " error: invalid use of incomplete type 'RCF::AsioIoService {aka class boost::asio::io_service}; among others?" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox/0001-blobmsg-fix-array-out-of-bounds-GCC-10-warning.patch b/external/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox/0001-blobmsg-fix-array-out-of-bounds-GCC-10-warning.patch new file mode 100644 index 00000000..4f1dd763 --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox/0001-blobmsg-fix-array-out-of-bounds-GCC-10-warning.patch @@ -0,0 +1,42 @@ +From a12325a0cbf3bf1d66a0b0f8d85e08083bae6066 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20=C5=A0tetiar?= <ynezz@true.cz> +Date: Wed, 25 Dec 2019 10:27:59 +0100 +Subject: [PATCH] blobmsg: fix array out of bounds GCC 10 warning +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes following warning reported by GCC 10.0.0 20191203: + + blobmsg.c:234:2: error: 'strcpy' offset 6 from the object at 'attr' is out of the bounds of referenced subobject 'name' with type 'uint8_t[0]' {aka 'unsigned char[0]'} at offset 6 [-Werror=array-bounds] + 234 | strcpy((char *) hdr->name, (const char *)name); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + In file included from blobmsg.c:16: + blobmsg.h:42:10: note: subobject 'name' declared here + 42 | uint8_t name[]; + | ^~~~ + +Upstream-Status: Submitted [https://gitlab.com/ynezz/openwrt-libubox/commit/3775b3aa28de8c20d96b6f02786a327423b0748a] +Reported-by: Khem Raj <raj.khem@gmail.com> +Signed-off-by: Petr Štetiar <ynezz@true.cz> +--- + blobmsg.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/blobmsg.c b/blobmsg.c +index a860483..b6b7535 100644 +--- a/blobmsg.c ++++ b/blobmsg.c +@@ -195,7 +195,7 @@ blobmsg_new(struct blob_buf *buf, int type, const char *name, int payload_len, v + attr->id_len |= be32_to_cpu(BLOB_ATTR_EXTENDED); + hdr = blob_data(attr); + hdr->namelen = cpu_to_be16(namelen); +- strcpy((char *) hdr->name, (const char *)name); ++ memcpy(hdr->name, name, namelen); + pad_end = *data = blobmsg_data(attr); + pad_start = (char *) &hdr->name[namelen]; + if (pad_start < pad_end) +-- +2.24.1 + diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox_git.bb b/external/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox_git.bb index f9f4e08b..7dbefa11 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox_git.bb +++ b/external/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox_git.bb @@ -16,9 +16,10 @@ SRC_URI = "\ git://git.openwrt.org/project/libubox.git \ file://0001-version-libraries.patch \ file://fix-libdir.patch \ + file://0001-blobmsg-fix-array-out-of-bounds-GCC-10-warning.patch \ " -SRCREV = "155bf39896f126b1ba121b816922a88dc34c31e3" +SRCREV = "07413cce72e19520af55dfcbc765484f5ab41dd9" PV = "1.0.1+git${SRCPV}" S = "${WORKDIR}/git" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.2.bb b/external/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.5.bb index d17d15c9..967ac762 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.2.bb +++ b/external/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.5.bb @@ -6,9 +6,10 @@ BUGTRACKER = "http://sourceforge.net/p/log4cplus/bugs/" LICENSE = "Apache-2.0 & BSD-2-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=41e8e060c26822886b592ab4765c756b" -SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}-stable/${PV}/${BP}.tar.gz" -SRC_URI[md5sum] = "b3bbeb2dc3e170768430cf87583016f8" -SRC_URI[sha256sum] = "10539f2315271d370c7bc6a2b4808cbe369279837f4539ce5c789e456489fc62" +SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}-stable/${PV}/${BP}.tar.gz \ + " +SRC_URI[md5sum] = "71dd956bf686195127559671f1426cff" +SRC_URI[sha256sum] = "c07115c23219390633798def30b7b51a0f79fdeb857e4b49632f17746d0ceb97" UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/log4cplus/files/log4cplus-stable/" UPSTREAM_CHECK_REGEX = "log4cplus-stable/(?P<pver>\d+(\.\d+)+)/" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/lshw/lshw_02.18.bb b/external/meta-openembedded/meta-oe/recipes-devtools/lshw/lshw_02.18.bb index b344fbf3..d1a73342 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/lshw/lshw_02.18.bb +++ b/external/meta-openembedded/meta-oe/recipes-devtools/lshw/lshw_02.18.bb @@ -30,3 +30,5 @@ do_compile() { do_install() { oe_runmake install DESTDIR=${D} } + +BBCLASSEXTEND = "native" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-Bug-fix-for-data-type-length-judgment.patch b/external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-Bug-fix-for-data-type-length-judgment.patch new file mode 100644 index 00000000..98cc9ba9 --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-Bug-fix-for-data-type-length-judgment.patch @@ -0,0 +1,42 @@ +From 5226333bddb755dbefd780d31450e0238dd5d3bd Mon Sep 17 00:00:00 2001 +From: Zang Ruochen <zangrc.fnst@cn.fujitsu.com> +Date: Wed, 16 Oct 2019 08:24:23 +0900 +Subject: [PATCH] Bug fix for data type length judgment. + +... +if (byte_size == sizeof(long)) { + + *type = is_signed ? ARGTYPE_LONG : ARGTYPE_ULONG; + + return true; + +} +... + +If ltrace's target command has a dbg package, ltrace will look for the debug file and analyze its contents. +Ltrace determines the type of analysis result variable. The type of the variable is longlong. +On 32-bit systems, longlong is 8 and long is 4 (same as in). +An error occurred because the ltrace code did not process a variable of length 8. + +Upstream-Status: Pending +Signed-off-by: Wang Mingyu <wangmy.fnst@cn.fujitsu.com> +--- + dwarf_prototypes.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/dwarf_prototypes.c b/dwarf_prototypes.c +index bfac177..9887d4b 100644 +--- a/dwarf_prototypes.c ++++ b/dwarf_prototypes.c +@@ -190,7 +190,7 @@ static bool get_integer_base_type(enum arg_type *type, int byte_size, + return true; + } + +- if (byte_size == sizeof(long)) { ++ if (byte_size == sizeof(long long)) { + *type = is_signed ? ARGTYPE_LONG : ARGTYPE_ULONG; + return true; + } +-- +2.7.4 + diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-ensure-the-struct-pointers-are-null-initilized.patch b/external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-ensure-the-struct-pointers-are-null-initilized.patch new file mode 100644 index 00000000..9def41ca --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-ensure-the-struct-pointers-are-null-initilized.patch @@ -0,0 +1,46 @@ +From 67a8fa478a4484bc4dbfb3ac74e11be1dd5af594 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 23 Dec 2019 19:35:48 -0800 +Subject: [PATCH] ensure the struct pointers are null initilized + +Do not delete if pointer is already null + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + expr.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/expr.c b/expr.c +index 4059a32..5ffd0ad 100644 +--- a/expr.c ++++ b/expr.c +@@ -189,10 +189,8 @@ int + expr_clone(struct expr_node *retp, const struct expr_node *node) + { + *retp = *node; +- ++ struct expr_node *nlhs = 0, *nrhs = 0; + switch (node->kind) { +- struct expr_node *nlhs; +- struct expr_node *nrhs; + + case EXPR_OP_ARGNO: + case EXPR_OP_SELF: +@@ -236,8 +234,10 @@ expr_clone(struct expr_node *retp, const struct expr_node *node) + if (expr_alloc_and_clone(&nlhs, node->lhs, node->own_lhs) < 0) { + if (node->kind == EXPR_OP_CALL2 + && node->u.call.own_rhs) { +- expr_destroy(nrhs); +- free(nrhs); ++ if (nrhs) { ++ expr_destroy(nrhs); ++ free(nrhs); ++ } + return -1; + } + } +-- +2.24.1 + diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-hook-Do-not-append-int-to-std-string.patch b/external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-hook-Do-not-append-int-to-std-string.patch new file mode 100644 index 00000000..28903738 --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-hook-Do-not-append-int-to-std-string.patch @@ -0,0 +1,33 @@ +From 8321f8b3befbaa355cfed988fdd8494133989676 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 4 Feb 2019 00:38:16 -0800 +Subject: [PATCH] hook: Do not append int to std::string + +Clang find this error + +| ../../../git/sysdeps/linux-gnu/hooks.c:205:51: error: adding 'int' to a string does not append to the string [-Werror,-Wstring-plus +-int] +| || sprintf(syspath, "%s/%s", sysconfdir, FN + 1) < 0) +| ~~~^~~ + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + sysdeps/linux-gnu/hooks.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/sysdeps/linux-gnu/hooks.c ++++ b/sysdeps/linux-gnu/hooks.c +@@ -200,9 +200,10 @@ os_get_ltrace_conf_filenames(struct vect + const char *sysconfdir = SYSCONFDIR; + if (sysconfdir != NULL && *sysconfdir != '\0') { + /* No +1, we skip the initial period. */ +- syspath = malloc(strlen(sysconfdir) + sizeof FN); ++ syspath = malloc(strlen(sysconfdir) + sizeof FN + 2); ++ syspath[strlen(sysconfdir) + sizeof FN + 1] = '\0'; + if (syspath == NULL +- || sprintf(syspath, "%s/%s", sysconfdir, FN + 1) < 0) ++ || sprintf(syspath, "%s/%s", sysconfdir, FN) < 0) + goto fail; + } + diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-move-fprintf-into-same-block-where-modname-and-symna.patch b/external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-move-fprintf-into-same-block-where-modname-and-symna.patch new file mode 100644 index 00000000..54acaace --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-move-fprintf-into-same-block-where-modname-and-symna.patch @@ -0,0 +1,37 @@ +From 0cad025f80cf090dc16a5b70e21477f5b08a67fd Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Thu, 20 Dec 2018 11:27:45 -0800 +Subject: [PATCH] move fprintf into same block where modname and symname are + computed + +In its current state if mod turns out to be NULL then modname and +symname will also turn out to be NULL and fprinting them as strings will +be problematic + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + output.c | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +diff --git a/output.c b/output.c +index b63befe..5aada7b 100644 +--- a/output.c ++++ b/output.c +@@ -654,12 +654,11 @@ frame_callback (Dwfl_Frame *state, void *arg) + NULL, NULL, NULL); + symname = dwfl_module_addrinfo(mod, pc, &off, &sym, + NULL, NULL, NULL); ++ /* This mimics the output produced by libunwind below. */ ++ fprintf(options.output, " > %s(%s+0x%" PRIx64 ") [%" PRIx64 "]\n", ++ modname, symname, off, pc); + } + +- /* This mimics the output produced by libunwind below. */ +- fprintf(options.output, " > %s(%s+0x%" PRIx64 ") [%" PRIx64 "]\n", +- modname, symname, off, pc); +- + /* See if we can extract the source line too and print it on + the next line if we can find it. */ + if (mod != NULL) { diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/include_unistd_nr.patch b/external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/include_unistd_nr.patch new file mode 100644 index 00000000..e4490bbb --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/include_unistd_nr.patch @@ -0,0 +1,30 @@ +kernel headers have restructured mips syscall generation in kernel +in recent versions, however, ltrace still has logic to define the +syscall numbers based on old logic, this patch includes the legacy +UAPI headers to get these defines + +Fixes errors e.g. +../../../../git/sysdeps/linux-gnu/mips/trace.c:138:29: error: '__NR_O32_Linux' undeclared (first use in this function) + const int syscallbase[] = {__NR_O32_Linux, __NR_N32_Linux, + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- a/sysdeps/linux-gnu/mips/trace.c ++++ b/sysdeps/linux-gnu/mips/trace.c +@@ -34,6 +34,16 @@ + #include <assert.h> + #include <asm/unistd.h> + ++#ifndef __NR_O32_Linux ++#include <asm/unistd_nr_o32.h> ++#endif ++#ifndef __NR_N32_Linux ++#include <asm/unistd_nr_n64.h> ++#endif ++#ifndef __NR_N64_Linux ++#include <asm/unistd_nr_n32.h> ++#endif ++ + #include "backend.h" + #include "common.h" + #include "debug.h" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb b/external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb index f4033f7c..5710943d 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb +++ b/external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb @@ -14,7 +14,6 @@ PV = "7.91+git${SRCPV}" SRCREV = "c22d359433b333937ee3d803450dc41998115685" DEPENDS = "elfutils" -RDEPENDS_${PN} = "elfutils" SRC_URI = "git://github.com/sparkleholic/ltrace.git;branch=master;protocol=http \ file://configure-allow-to-disable-selinux-support.patch \ file://0001-replace-readdir_r-with-readdir.patch \ @@ -25,6 +24,11 @@ SRC_URI = "git://github.com/sparkleholic/ltrace.git;branch=master;protocol=http file://0001-Add-support-for-mips64-n32-n64.patch \ file://0001-configure-Recognise-linux-musl-as-a-host-OS.patch \ file://0001-mips-plt.c-Delete-include-error.h.patch \ + file://0001-move-fprintf-into-same-block-where-modname-and-symna.patch \ + file://0001-hook-Do-not-append-int-to-std-string.patch \ + file://include_unistd_nr.patch \ + file://0001-Bug-fix-for-data-type-length-judgment.patch \ + file://0001-ensure-the-struct-pointers-are-null-initilized.patch \ " S = "${WORKDIR}/git" @@ -34,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/external/meta-openembedded/meta-oe/recipes-devtools/lua/lua/0001-Allow-building-lua-without-readline-on-Linux.patch b/external/meta-openembedded/meta-oe/recipes-devtools/lua/lua/0001-Allow-building-lua-without-readline-on-Linux.patch new file mode 100644 index 00000000..e7679008 --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/lua/lua/0001-Allow-building-lua-without-readline-on-Linux.patch @@ -0,0 +1,59 @@ +From 601ef636fc4dfb2af3e7fda88d8ea1c1d92affe4 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Wed, 2 Oct 2019 17:54:15 +0200 +Subject: [PATCH] Allow building lua without readline on Linux + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + Makefile | 2 +- + src/Makefile | 3 +++ + src/luaconf.h | 5 +++++ + 3 files changed, 9 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 119110d..9f6df45 100644 +--- a/Makefile ++++ b/Makefile +@@ -36,7 +36,7 @@ RM= rm -f + # == END OF USER SETTINGS -- NO NEED TO CHANGE ANYTHING BELOW THIS LINE ======= + + # Convenience platforms targets. +-PLATS= aix bsd c89 freebsd generic linux macosx mingw posix solaris ++PLATS= aix bsd c89 freebsd generic linux linux-no-readline macosx mingw posix solaris + + # What to install. + TO_BIN= lua luac +diff --git a/src/Makefile b/src/Makefile +index 64c78f7..5c0428a 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -109,6 +109,9 @@ generic: $(ALL) + linux: + $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl -lreadline" + ++linux-no-readline: ++ $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX_NO_READLINE" SYSLIBS="-Wl,-E -ldl" ++ + macosx: + $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_MACOSX" SYSLIBS="-lreadline" + +diff --git a/src/luaconf.h b/src/luaconf.h +index 9eeeea6..d71ca25 100644 +--- a/src/luaconf.h ++++ b/src/luaconf.h +@@ -64,6 +64,11 @@ + #define LUA_USE_READLINE /* needs some extra libraries */ + #endif + ++#if defined(LUA_USE_LINUX_NO_READLINE) ++#define LUA_USE_POSIX ++#define LUA_USE_DLOPEN /* needs an extra library: -ldl */ ++#endif ++ + + #if defined(LUA_USE_MACOSX) + #define LUA_USE_POSIX +-- +2.17.1 + diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/lua/lua/CVE-2019-6706.patch b/external/meta-openembedded/meta-oe/recipes-devtools/lua/lua/CVE-2019-6706.patch deleted file mode 100644 index cfe48af5..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/lua/lua/CVE-2019-6706.patch +++ /dev/null @@ -1,32 +0,0 @@ -CVE-2019-6706: use-after-free in lua_upvaluejoin function - -Upstream-Status: Backport -http://lua.2524044.n2.nabble.com/CVE-2019-6706-use-after-free-in-lua-upvaluejoin-function-tc7685575.html -CVE: CVE-2019-6706 -Affects < 5.3.5 -Signed-off-by: Armin Kuster <akuster@mvista.com> - -Index: lua-5.3.4/src/lapi.c -=================================================================== ---- lua-5.3.4.orig/src/lapi.c -+++ lua-5.3.4/src/lapi.c -@@ -1285,14 +1285,14 @@ LUA_API void *lua_upvalueid (lua_State * - - LUA_API void lua_upvaluejoin (lua_State *L, int fidx1, int n1, - int fidx2, int n2) { -- LClosure *f1; -- UpVal **up1 = getupvalref(L, fidx1, n1, &f1); -+ UpVal **up1 = getupvalref(L, fidx1, n1, NULL); /* the last parameter not needed */ - UpVal **up2 = getupvalref(L, fidx2, n2, NULL); -+ if (*up1 == *up2) return; /* Already joined */ -+ (*up2)->refcount++; -+ if (upisopen(*up2)) (*up2)->u.open.touched = 1; -+ luaC_upvalbarrier(L, *up2); - luaC_upvdeccount(L, *up1); - *up1 = *up2; -- (*up1)->refcount++; -- if (upisopen(*up1)) (*up1)->u.open.touched = 1; -- luaC_upvalbarrier(L, *up1); - } - - diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.4.bb b/external/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.5.bb index 978c2033..a23a4a5d 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.4.bb +++ b/external/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.5.bb @@ -4,35 +4,42 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://doc/readme.html;beginline=318;endline=352;md5=60aa5cfdbd40086501778d9b6ebf29ee" HOMEPAGE = "http://www.lua.org/" -DEPENDS = "readline" SRC_URI = "http://www.lua.org/ftp/lua-${PV}.tar.gz;name=tarballsrc \ file://lua.pc.in \ - file://CVE-2019-6706.patch \ + file://0001-Allow-building-lua-without-readline-on-Linux.patch \ " + +# if no test suite matches PV release of Lua exactly, download the suite for the closest Lua release. +PV_testsuites = "5.3.4" + SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', \ - 'http://www.lua.org/tests/lua-${PV}-tests.tar.gz;name=tarballtest \ + 'http://www.lua.org/tests/lua-${PV_testsuites}-tests.tar.gz;name=tarballtest \ file://run-ptest \ ', '', d)}" -SRC_URI[tarballsrc.md5sum] = "53a9c68bcc0eda58bdc2095ad5cdfc63" -SRC_URI[tarballsrc.sha256sum] = "f681aa518233bc407e23acf0f5887c884f17436f000d453b2491a9f11a52400c" +SRC_URI[tarballsrc.md5sum] = "4f4b4f323fd3514a68e0ab3da8ce3455" +SRC_URI[tarballsrc.sha256sum] = "0c2eed3f960446e1a3e4b9a1ca2f3ff893b6ce41942cf54d5dd59ab4b3b058ac" SRC_URI[tarballtest.md5sum] = "b14fe3748c1cb2d74e3acd1943629ba3" SRC_URI[tarballtest.sha256sum] = "b80771238271c72565e5a1183292ef31bd7166414cd0d43a8eb79845fa7f599f" inherit pkgconfig binconfig ptest +PACKAGECONFIG ??= "readline" +PACKAGECONFIG[readline] = ",,readline" + UCLIBC_PATCHES += "file://uclibc-pthread.patch" SRC_URI_append_libc-uclibc = "${UCLIBC_PATCHES}" TARGET_CC_ARCH += " -fPIC ${LDFLAGS}" -EXTRA_OEMAKE = "'CC=${CC} -fPIC' 'MYCFLAGS=${CFLAGS} -DLUA_USE_LINUX -fPIC' MYLDFLAGS='${LDFLAGS}'" +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 () { - oe_runmake linux + oe_runmake ${@bb.utils.contains('PACKAGECONFIG', 'readline', 'linux', 'linux-no-readline', d)} } do_install () { @@ -54,7 +61,7 @@ do_install () { } do_install_ptest () { - cp -R --no-dereference --preserve=mode,links -v ${WORKDIR}/lua-${PV}-tests ${D}${PTEST_PATH}/test + cp -R --no-dereference --preserve=mode,links -v ${WORKDIR}/lua-${PV_testsuites}-tests ${D}${PTEST_PATH}/test } BBCLASSEXTEND = "native nativesdk" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit/clang.patch b/external/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit/clang.patch index c39ef6fd..807cc441 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit/clang.patch +++ b/external/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/external/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.5.bb b/external/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_git.bb index f3a0f70e..cc903941 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.5.bb +++ b/external/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" @@ -22,7 +22,7 @@ BBCLASSEXTEND = "native" # you need to install the multilib development package (e.g. # libc6-dev-i386 on Debian/Ubuntu) and build a 32 bit host part # (HOST_CC="gcc -m32"). -BUILD_CC_ARCH_append = " ${@['-m32',''][d.getVar('SITEINFO_BITS', True) != '32']}" +BUILD_CC_ARCH_append = " ${@['-m32',''][d.getVar('SITEINFO_BITS') != '32']}" # The lua makefiles expect the TARGET_SYS to be from uname -s # Values: Windows, Linux, Darwin, iOS, SunOS, PS3, GNU/kFreeBSD @@ -90,7 +90,11 @@ FILES_${PN}-dev += "${libdir}/libluajit-5.1.a \ " FILES_luajit-common = "${datadir}/${BPN}-${PV}" -# Aarch64/mips64 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/external/meta-openembedded/meta-oe/recipes-devtools/luaposix/luaposix/0001-fix-avoid-race-condition-between-test-and-mkdir.patch b/external/meta-openembedded/meta-oe/recipes-devtools/luaposix/luaposix/0001-fix-avoid-race-condition-between-test-and-mkdir.patch new file mode 100644 index 00000000..d8a9e3d2 --- /dev/null +++ b/external/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/external/meta-openembedded/meta-oe/recipes-devtools/luaposix/luaposix_33.4.0.bb b/external/meta-openembedded/meta-oe/recipes-devtools/luaposix/luaposix_33.4.0.bb new file mode 100644 index 00000000..1bee9fe0 --- /dev/null +++ b/external/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/external/meta-openembedded/meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb b/external/meta-openembedded/meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb index a7163a35..b5ca4956 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb +++ b/external/meta-openembedded/meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb @@ -1,6 +1,6 @@ SUMMARY = "MCPP is a portable C/C++ preprocessor" HOMEPAGE = "http://mcpp.sourceforge.net/" -LICENSE = "BSD" +LICENSE = "BSD-2-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=5ca370b75ec890321888a00cea9bc1d5" SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \ diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_4.6.1.bb b/external/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_5.2.bb index 13710aae..6dedb02a 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_4.6.1.bb +++ b/external/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_5.2.bb @@ -3,29 +3,36 @@ HOMEPAGE = "http://mercurial.selenic.com/" SECTION = "console/utils" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -DEPENDS = "python python-native" -DEPENDS_class-native = "python-native" -RDEPENDS_${PN} = "python python-modules" -inherit python-dir +DEPENDS = "python3 python3-native" +RDEPENDS_${PN} = "python3 python3-modules" + +inherit python3native SRC_URI = "https://www.mercurial-scm.org/release/${BP}.tar.gz" -SRC_URI[md5sum] = "f9b2e4a3b5901ef744fa3abe4196e97e" -SRC_URI[sha256sum] = "89fa8ecbc8aa6e48e98f9803a1683ba91367124295dba2407b28c34ca621108d" +SRC_URI[md5sum] = "9ba9d59157c002db8d8cab680de08eb5" +SRC_URI[sha256sum] = "ff030e923f03ee15c91191996fcb099bfcfa60c7df263be227f67b6a65d36194" S = "${WORKDIR}/mercurial-${PV}" BBCLASSEXTEND = "native" +export LDSHARED="${CCLD} -shared" + EXTRA_OEMAKE = "STAGING_LIBDIR=${STAGING_LIBDIR} STAGING_INCDIR=${STAGING_INCDIR} \ PREFIX=${prefix}" do_configure_append () { - sed -i -e 's:PYTHON=python:PYTHON=${STAGING_BINDIR_NATIVE}/python-native/python:g' ${S}/Makefile + sed -i -e 's:PYTHON?=python:PYTHON=python3:g' ${S}/Makefile } do_install () { oe_runmake -e install-bin DESTDIR=${D} PREFIX=${prefix} + sed -i -e 's:${STAGING_BINDIR_NATIVE}/python3-native/python3:${USRBINPATH}/env python3:g' ${D}${bindir}/hg } +PACKAGES =+ "${PN}-python" FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}" + +FILES_${PN}-python = "${nonarch_libdir}/${PYTHON_DIR}" + diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c/0001-Fix-Werror-class-memaccess.patch b/external/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c/0001-Fix-Werror-class-memaccess.patch deleted file mode 100644 index b0d772d9..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c/0001-Fix-Werror-class-memaccess.patch +++ /dev/null @@ -1,35 +0,0 @@ -From a05d92ae85024d0648f69f95307a1d3e8e51109c Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Sun, 1 Apr 2018 19:55:38 -0700 -Subject: [PATCH] Fix -Werror=class-memaccess - -Casting to void* make gcc happy since its upset about -object types and rightly so - -Fixes - -'void* memcpy(void*, const void*, size_t)' copying an object of non-trivial type 'struct msgpack::v2::object' from an array of 'const msgpack_object' {aka 'const struct msgpack_object'} [-Werror=class-memaccess] - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- -Upstream-Status: Submitted [https://github.com/msgpack/msgpack-c/pull/659] - - include/msgpack/v1/object.hpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/msgpack/v1/object.hpp b/include/msgpack/v1/object.hpp -index 64da8c53..9721f705 100644 ---- a/include/msgpack/v1/object.hpp -+++ b/include/msgpack/v1/object.hpp -@@ -661,7 +661,7 @@ inline object::object(const msgpack_object& o) - inline void operator<< (msgpack::object& o, const msgpack_object& v) - { - // FIXME beter way? -- std::memcpy(&o, &v, sizeof(v)); -+ std::memcpy(static_cast<void*>(&o), &v, sizeof(v)); - } - - inline object::operator msgpack_object() const --- -2.16.3 - diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_2.1.5.bb b/external/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_3.2.1.bb index 690a7f44..d410dc6e 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_2.1.5.bb +++ b/external/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_3.2.1.bb @@ -10,9 +10,9 @@ LIC_FILES_CHKSUM = "file://NOTICE;md5=7a858c074723608e08614061dc044352 \ PV .= "+git${SRCPV}" SRC_URI = "git://github.com/msgpack/msgpack-c \ - file://0001-Fix-Werror-class-memaccess.patch \ " -SRCREV = "208595b2620cf6260ce3d6d4cf8543f13b206449" +# cpp-3.2.1 +SRCREV = "8085ab8721090a447cf98bb802d1406ad7afe420" S = "${WORKDIR}/git" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/nanopb/nanopb_0.4.0.bb b/external/meta-openembedded/meta-oe/recipes-devtools/nanopb/nanopb_0.4.0.bb new file mode 100644 index 00000000..21d110ae --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/nanopb/nanopb_0.4.0.bb @@ -0,0 +1,30 @@ +DESCRIPTION="Protocol Buffers with small code size" +LICENSE="Zlib" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=9db4b73a55a3994384112efcdb37c01f" + +DEPENDS = "protobuf-native" + +SRC_URI = "git://github.com/nanopb/nanopb.git" +SRCREV = "70f0de9877b1ce12abc0229d5df84db6349fcbfc" + +S = "${WORKDIR}/git" + +inherit cmake python3native + +do_install_append() { + install -Dm 0755 ${S}/generator/nanopb_generator.py ${D}${bindir}/nanopb_generator.py + install -Dm 0755 ${S}/generator/protoc-gen-nanopb ${D}${bindir}/protoc-gen-nanopb + install -Dm 0755 ${S}/generator/proto/__init__.py ${D}${PYTHON_SITEPACKAGES_DIR}/proto/__init__.py +} + +FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}" +FILES_${PN}-dev += "${libdir}/cmake/${BPN}" + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-protobuf \ + protobuf-compiler \ +" + +BBCLASSEXTEND = "native nativesdk" + +PNBLACKLIST[nanopb] = "Needs forward porting to use python3" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/nlohmann-fifo/nlohmann-fifo_git.bb b/external/meta-openembedded/meta-oe/recipes-devtools/nlohmann-fifo/nlohmann-fifo_git.bb new file mode 100644 index 00000000..a97eb53c --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/nlohmann-fifo/nlohmann-fifo_git.bb @@ -0,0 +1,26 @@ +SUMMARY = "fifo maps for c++" +HOMEPAGE = "https://github.com/nlohmann/fifo_map" +SECTION = "libs" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.MIT;md5=b67209a1e36b682a8226de19d265b1e0" + +SRC_URI = "git://github.com/nlohmann/fifo_map.git" + +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. + +RDEPENDS_${PN}-dev = "" + +BBCLASSEXTEND = "native nativesdk" + +do_install() { + install -d ${D}${includedir} + install -m 0644 ${S}/src/fifo_map.hpp ${D}${includedir} +} diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json/0001-Templatize-basic_json-ctor-from-json_ref.patch b/external/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json/0001-Templatize-basic_json-ctor-from-json_ref.patch new file mode 100644 index 00000000..aea48b60 --- /dev/null +++ b/external/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/external/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json/0001-typo-fix.patch b/external/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json/0001-typo-fix.patch new file mode 100644 index 00000000..6af4e974 --- /dev/null +++ b/external/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/external/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_git.bb b/external/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.7.3.bb index 65e49bc9..5766194d 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_git.bb +++ b/external/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.7.3.bb @@ -2,13 +2,14 @@ SUMMARY = "JSON for modern C++" HOMEPAGE = "https://nlohmann.github.io/json/" SECTION = "libs" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.MIT;md5=9a8ae1c2d606c432a2aa2e2de15be22a" +LIC_FILES_CHKSUM = "file://LICENSE.MIT;md5=f5f7c71504da070bcf4f090205ce1080" -SRC_URI = "git://github.com/nlohmann/json.git" +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 \ + " -PV = "3.3.0+git${SRCPV}" - -SRCREV = "aafad2be1f3cd259a1e79d2f6fcf267d1ede9ec7" +SRCREV = "e7b3b40b5a95bc74b9a7f662830a27c49ffc01b4" S = "${WORKDIR}/git" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch b/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch index 324a4683..4dd121f4 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch +++ b/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch @@ -4,26 +4,22 @@ Date: Thu, 27 Apr 2017 14:25:42 +0200 Subject: [PATCH] Disable running gyp on shared deps --- - Makefile | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile -index 0a217bd893..e1229ad07f 100644 +index 0947300f24..6c98691984 100644 --- a/Makefile +++ b/Makefile -@@ -79,10 +79,9 @@ $(NODE_G_EXE): config.gypi out/Makefile - $(MAKE) -C out BUILDTYPE=Debug V=$(V) - if [ ! -r $@ -o ! -L $@ ]; then ln -fs out/Debug/$(NODE_EXE) $@; fi +@@ -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 \ -- deps/v8/gypfiles/features.gypi deps/v8/src/v8.gyp node.gyp \ -- config.gypi -+out/Makefile: common.gypi deps/http_parser/http_parser.gyp \ -+ deps/v8/gypfiles/toolchain.gypi deps/v8/gypfiles/features.gypi \ -+ deps/v8/src/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 - - config.gypi: configure -- -2.12.2 +2.20.1 + diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-build-allow-passing-multiple-libs-to-pkg_config.patch b/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-build-allow-passing-multiple-libs-to-pkg_config.patch new file mode 100644 index 00000000..13edf229 --- /dev/null +++ b/external/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/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0002-Using-native-binaries.patch b/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0002-Using-native-binaries.patch new file mode 100644 index 00000000..b5142dc9 --- /dev/null +++ b/external/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/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0002-build-allow-use-of-system-installed-brotli.patch b/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0002-build-allow-use-of-system-installed-brotli.patch new file mode 100644 index 00000000..fc038f3a --- /dev/null +++ b/external/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/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch b/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch new file mode 100644 index 00000000..599f742b --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch @@ -0,0 +1,95 @@ +From 5bfeffdf4b5de1c60a2ff0d1ddf65db2bb9a1533 Mon Sep 17 00:00:00 2001 +From: Elliott Sales de Andrade <quantum.analyst@gmail.com> +Date: Tue, 19 Mar 2019 23:22:40 -0400 +Subject: [PATCH 3/3] Install both binaries and use libdir. + +This allows us to build with a shared library for other users while +still providing the normal executable. + +Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com> + +Stolen from [1] + +[1] https://src.fedoraproject.org/rpms/nodejs/raw/master/f/0003-Install-both-binaries-and-use-libdir.patch + +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 20cce214db..e2d78a2a51 100755 +--- a/configure.py ++++ b/configure.py +@@ -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)') + ++parser.add_option('--libdir', ++ action='store', ++ dest='libdir', ++ default='lib', ++ help='a directory to install the shared library into') ++ + parser.add_option('--without-v8-platform', + action='store_true', + dest='without_v8_platform', +@@ -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 655802980a..fe4723bf15 100755 +--- a/tools/install.py ++++ b/tools/install.py +@@ -121,26 +121,23 @@ def subdir_files(path, dest, action): + + def files(action): + is_windows = sys.platform == 'win32' +- output_file = 'node' + output_prefix = 'out/Release/' ++ output_libprefix = output_prefix + +- if 'false' == variables.get('node_shared'): +- if is_windows: +- output_file += '.exe' ++ if is_windows: ++ output_bin = 'node.exe' ++ output_lib = 'node.dll' + else: +- if is_windows: +- output_file += '.dll' +- else: +- output_file = 'lib' + output_file + '.' + variables.get('shlib_suffix') +- # GYP will output to lib.target except on OS X, this is hardcoded +- # in its source - see the _InstallableTargetInstallPath function. +- if sys.platform != 'darwin': +- output_prefix += 'lib.target/' +- +- if 'false' == variables.get('node_shared'): +- action([output_prefix + output_file], 'bin/' + output_file) +- else: +- action([output_prefix + output_file], 'lib/' + output_file) ++ output_bin = 'node' ++ output_lib = 'libnode.' + variables.get('shlib_suffix') ++ # GYP will output to lib.target except on OS X, this is hardcoded ++ # in its source - see the _InstallableTargetInstallPath function. ++ if sys.platform != 'darwin': ++ output_libprefix += 'lib.target/' ++ ++ action([output_prefix + output_bin], 'bin/' + output_bin) ++ if 'true' == variables.get('node_shared'): ++ action([output_libprefix + output_lib], variables.get('libdir') + '/' + output_lib) + + if 'true' == variables.get('node_use_dtrace'): + action(['out/Release/node.d'], 'lib/dtrace/node.d') +-- +2.20.1 + diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0004-v8-don-t-override-ARM-CFLAGS.patch b/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0004-v8-don-t-override-ARM-CFLAGS.patch new file mode 100644 index 00000000..97ed972c --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0004-v8-don-t-override-ARM-CFLAGS.patch @@ -0,0 +1,102 @@ +From 47ee5cc5501289205d3e8e9f27ea9daf18cebac1 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <git@andred.net> +Date: Sat, 9 Nov 2019 14:45:30 +0000 +Subject: [PATCH] v8: don't override ARM CFLAGS +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This overrides yocto-provided build flags with its own, e.g we get + arm-poky-linux-musleabi-g++ -mthumb -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a7 \ + ... \ + -march=armv7-a -mfpu=neon -mfloat-abi=hard -marm + +Causing the latter to override the former, and compiler warnings: + cc1plus: warning: switch '-mcpu=cortex-a7' conflicts with '-march=armv7-a' switch + +Patch this out, so that yocto-provided flags take precedence. +Note that in reality the same should probably be done for all the other +supported architectures, too. + +Note that this also switches to Thumb(2) mode (in my case). No obvious +problems have been noted during compilation or runtime. + +Upstream-Status: Inappropriate [oe-specific] +Signed-off-by: André Draszik <git@andred.net> +--- + tools/v8_gypfiles/toolchain.gypi | 52 ++------------------------------ + 1 file changed, 2 insertions(+), 50 deletions(-) + +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': [ +- ['v8_target_arch==host_arch', { +- # Host built with an Arm CXX compiler. +- 'conditions': [ +- [ 'arm_version==7', { +- 'cflags': ['-march=armv7-a',], +- }], +- [ 'arm_version==7 or arm_version=="default"', { +- 'conditions': [ +- [ 'arm_fpu!="default"', { +- 'cflags': ['-mfpu=<(arm_fpu)',], +- }], +- ], +- }], +- [ 'arm_float_abi!="default"', { +- 'cflags': ['-mfloat-abi=<(arm_float_abi)',], +- }], +- [ 'arm_thumb==1', { +- 'cflags': ['-mthumb',], +- }], +- [ 'arm_thumb==0', { +- 'cflags': ['-marm',], +- }], +- ], +- }, { +- # 'v8_target_arch!=host_arch' ++ ['v8_target_arch!=host_arch', { + # Host not built with an Arm CXX compiler (simulator build). + 'conditions': [ + [ 'arm_float_abi=="hard"', { +@@ -254,31 +230,7 @@ + }], # _toolset=="host" + ['_toolset=="target"', { + 'conditions': [ +- ['v8_target_arch==target_arch', { +- # Target built with an Arm CXX compiler. +- 'conditions': [ +- [ 'arm_version==7', { +- 'cflags': ['-march=armv7-a',], +- }], +- [ 'arm_version==7 or arm_version=="default"', { +- 'conditions': [ +- [ 'arm_fpu!="default"', { +- 'cflags': ['-mfpu=<(arm_fpu)',], +- }], +- ], +- }], +- [ 'arm_float_abi!="default"', { +- 'cflags': ['-mfloat-abi=<(arm_float_abi)',], +- }], +- [ 'arm_thumb==1', { +- 'cflags': ['-mthumb',], +- }], +- [ 'arm_thumb==0', { +- 'cflags': ['-marm',], +- }], +- ], +- }, { +- # 'v8_target_arch!=target_arch' ++ ['v8_target_arch!=target_arch', { + # Target not built with an Arm CXX compiler (simulator build). + 'conditions': [ + [ 'arm_float_abi=="hard"', { +-- +2.20.1 + diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/big-endian.patch b/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/big-endian.patch new file mode 100644 index 00000000..52938184 --- /dev/null +++ b/external/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/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/mips-warnings.patch b/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/mips-warnings.patch new file mode 100644 index 00000000..1a773f23 --- /dev/null +++ b/external/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/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.14.1.bb b/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.14.1.bb new file mode 100644 index 00000000..d468fb3f --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.14.1.bb @@ -0,0 +1,163 @@ +DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript" +HOMEPAGE = "http://nodejs.org" +LICENSE = "MIT & BSD & Artistic-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=be4d5107c64dc3d7c57e3797e1a0674b" + +DEPENDS = "openssl" +DEPENDS_append_class-target = " nodejs-native" + +inherit pkgconfig python3native + +COMPATIBLE_MACHINE_armv4 = "(!.*armv4).*" +COMPATIBLE_MACHINE_armv5 = "(!.*armv5).*" +COMPATIBLE_MACHINE_mips64 = "(!.*mips64).*" + +COMPATIBLE_HOST_riscv64 = "null" +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-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 \ + " +SRC_URI_append_class-target = " \ + file://0002-Using-native-binaries.patch \ + " + +SRC_URI[md5sum] = "1c78a75f5c95321f533ecccca695e814" +SRC_URI[sha256sum] = "877b4b842318b0e09bc754faf7343f2f097f0fc4f88ab9ae57cf9944e88e7adb" + +S = "${WORKDIR}/node-v${PV}" + +# v8 errors out if you have set CCACHE +CCACHE = "" + +def map_nodejs_arch(a, d): + import re + + if re.match('i.86$', a): return 'ia32' + elif re.match('x86_64$', a): return 'x64' + elif re.match('aarch64$', a): return 'arm64' + elif re.match('(powerpc64|ppc64le)$', a): return 'ppc64' + elif re.match('powerpc$', a): return 'ppc' + return a + +ARCHFLAGS_arm = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--with-arm-float-abi=hard', '--with-arm-float-abi=softfp', d)} \ + ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-arm-fpu=neon', \ + bb.utils.contains('TUNE_FEATURES', 'vfpv3d16', '--with-arm-fpu=vfpv3-d16', \ + bb.utils.contains('TUNE_FEATURES', 'vfpv3', '--with-arm-fpu=vfpv3', \ + '--with-arm-fpu=vfp', d), d), d)}" +GYP_DEFINES_append_mipsel = " mips_arch_variant='r1' " +ARCHFLAGS ?= "" + +PACKAGECONFIG ??= "ares brotli icu libuv zlib" +PACKAGECONFIG[ares] = "--shared-cares,,c-ares" +PACKAGECONFIG[brotli] = "--shared-brotli,,brotli" +PACKAGECONFIG[icu] = "--with-intl=system-icu,--without-intl,icu" +PACKAGECONFIG[libuv] = "--shared-libuv,,libuv" +PACKAGECONFIG[nghttp2] = "--shared-nghttp2,,nghttp2" +PACKAGECONFIG[shared] = "--shared" +PACKAGECONFIG[zlib] = "--shared-zlib,,zlib" + +# We don't want to cross-compile during target compile, +# and we need to use the right flags during host compile, +# too. +EXTRA_OEMAKE = "\ + CC.host='${CC}' \ + CFLAGS.host='${CPPFLAGS} ${CFLAGS}' \ + CXX.host='${CXX}' \ + CXXFLAGS.host='${CPPFLAGS} ${CXXFLAGS}' \ + LDFLAGS.host='${LDFLAGS}' \ + AR.host='${AR}' \ + \ + builddir_name=./ \ +" + +python do_unpack() { + import shutil + + bb.build.exec_func('base_do_unpack', d) + + shutil.rmtree(d.getVar('S') + '/deps/openssl', True) + if 'ares' in d.getVar('PACKAGECONFIG'): + shutil.rmtree(d.getVar('S') + '/deps/cares', 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'): + shutil.rmtree(d.getVar('S') + '/deps/nghttp2', True) + if 'zlib' in d.getVar('PACKAGECONFIG'): + shutil.rmtree(d.getVar('S') + '/deps/zlib', True) +} + +# Node is way too cool to use proper autotools, so we install two wrappers to forcefully inject proper arch cflags to workaround gypi +do_configure () { + export LD="${CXX}" + GYP_DEFINES="${GYP_DEFINES}" export GYP_DEFINES + # $TARGET_ARCH settings don't match --dest-cpu settings + 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} \ + ${ARCHFLAGS} \ + ${PACKAGECONFIG_CONFARGS} +} + +do_compile () { + export LD="${CXX}" + oe_runmake BUILDTYPE=Release +} + +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() { + # use node from PATH instead of absolute path to sysroot + # node-v0.10.25/tools/install.py is using: + # shebang = os.path.join(node_prefix, 'bin/node') + # update_shebang(link_path, shebang) + # and node_prefix can be very long path to bindir in native sysroot and + # when it exceeds 128 character shebang limit it's stripped to incorrect path + # and npm fails to execute like in this case with 133 characters show in log.do_install: + # updating shebang of /home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/work/x86_64-linux/nodejs-native/0.10.15-r0/image/home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/sysroots/x86_64-linux/usr/bin/npm to /home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/sysroots/x86_64-linux/usr/bin/node + # /usr/bin/npm is symlink to /usr/lib/node_modules/npm/bin/npm-cli.js + # use sed on npm-cli.js because otherwise symlink is replaced with normal file and + # 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 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() { + sed "1s^.*^#\!${bindir}/env node^g" -i ${D}${exec_prefix}/lib/node_modules/npm/bin/npm-cli.js +} + +PACKAGES =+ "${PN}-npm" +FILES_${PN}-npm = "${exec_prefix}/lib/node_modules ${bindir}/npm ${bindir}/npx" +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/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_8.12.0.bb b/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_8.12.0.bb deleted file mode 100644 index 8c339782..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_8.12.0.bb +++ /dev/null @@ -1,92 +0,0 @@ -DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript" -HOMEPAGE = "http://nodejs.org" -LICENSE = "MIT & BSD & Artistic-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=fde91d5c5bbd1e0389623e1ac018d9e8" - -DEPENDS = "openssl zlib icu" - -inherit pkgconfig - -COMPATIBLE_MACHINE_armv4 = "(!.*armv4).*" -COMPATIBLE_MACHINE_armv5 = "(!.*armv5).*" -COMPATIBLE_MACHINE_mips64 = "(!.*mips64).*" - -SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \ - file://0001-Disable-running-gyp-files-for-bundled-deps.patch \ -" -SRC_URI[md5sum] = "8b3abd033dae96b6fadcb6a872a44d3c" -SRC_URI[sha256sum] = "5a9dff58016c18fb4bf902d963b124ff058a550ebcd9840c677757387bce419a" - -S = "${WORKDIR}/node-v${PV}" - -# v8 errors out if you have set CCACHE -CCACHE = "" - -def map_nodejs_arch(a, d): - import re - - if re.match('i.86$', a): return 'ia32' - elif re.match('x86_64$', a): return 'x64' - elif re.match('aarch64$', a): return 'arm64' - elif re.match('(powerpc64|ppc64le)$', a): return 'ppc64' - elif re.match('powerpc$', a): return 'ppc' - return a - -ARCHFLAGS_arm = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--with-arm-float-abi=hard', '--with-arm-float-abi=softfp', d)} \ - ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-arm-fpu=neon', \ - bb.utils.contains('TUNE_FEATURES', 'vfpv3d16', '--with-arm-fpu=vfpv3-d16', \ - bb.utils.contains('TUNE_FEATURES', 'vfpv3', '--with-arm-fpu=vfpv3', \ - '--with-arm-fpu=vfp', d), d), d)}" -GYP_DEFINES_append_mipsel = " mips_arch_variant='r1' " -ARCHFLAGS ?= "" - -# Node is way too cool to use proper autotools, so we install two wrappers to forcefully inject proper arch cflags to workaround gypi -do_configure () { - rm -rf ${S}/deps/openssl - export LD="${CXX}" - GYP_DEFINES="${GYP_DEFINES}" export GYP_DEFINES - # $TARGET_ARCH settings don't match --dest-cpu settings - ./configure --prefix=${prefix} --with-intl=system-icu --without-snapshot --shared-openssl --shared-zlib \ - --dest-cpu="${@map_nodejs_arch(d.getVar('TARGET_ARCH'), d)}" \ - --dest-os=linux \ - ${ARCHFLAGS} -} - -do_compile () { - export LD="${CXX}" - oe_runmake BUILDTYPE=Release -} - -do_install () { - oe_runmake install DESTDIR=${D} -} - -do_install_append_class-native() { - # use node from PATH instead of absolute path to sysroot - # node-v0.10.25/tools/install.py is using: - # shebang = os.path.join(node_prefix, 'bin/node') - # update_shebang(link_path, shebang) - # and node_prefix can be very long path to bindir in native sysroot and - # when it exceeds 128 character shebang limit it's stripped to incorrect path - # and npm fails to execute like in this case with 133 characters show in log.do_install: - # updating shebang of /home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/work/x86_64-linux/nodejs-native/0.10.15-r0/image/home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/sysroots/x86_64-linux/usr/bin/npm to /home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/sysroots/x86_64-linux/usr/bin/node - # /usr/bin/npm is symlink to /usr/lib/node_modules/npm/bin/npm-cli.js - # use sed on npm-cli.js because otherwise symlink is replaced with normal file and - # 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 -} - -do_install_append_class-target() { - sed "1s^.*^#\!${bindir}/env node^g" -i ${D}${exec_prefix}/lib/node_modules/npm/bin/npm-cli.js -} - -PACKAGES =+ "${PN}-npm" -FILES_${PN}-npm = "${exec_prefix}/lib/node_modules ${bindir}/npm ${bindir}/npx" -RDEPENDS_${PN}-npm = "bash python-shell python-datetime python-subprocess python-textutils \ - python-compiler python-misc python-multiprocessing" - -PACKAGES =+ "${PN}-systemtap" -FILES_${PN}-systemtap = "${datadir}/systemtap" - - -BBCLASSEXTEND = "native" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/octave/files/fix-blas-library-integer-size.patch b/external/meta-openembedded/meta-oe/recipes-devtools/octave/files/fix-blas-library-integer-size.patch new file mode 100644 index 00000000..e89d7d34 --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/octave/files/fix-blas-library-integer-size.patch @@ -0,0 +1,16 @@ +diff -Naur octave-4.4.1.orig/configure.ac octave-4.4.1/configure.ac +--- octave-4.4.1.orig/configure.ac 2019-02-23 10:46:24.287240571 +0000 ++++ octave-4.4.1/configure.ac 2019-02-23 10:46:42.255249333 +0000 +@@ -762,6 +762,12 @@ + AC_MSG_ERROR([BLAS and LAPACK libraries are required]) + fi + ++if ac_fn_f77_try_run "$LINENO"; then : ++ ax_blas_integer_size=8 ++else ++ ax_blas_integer_size=4 ++fi ++ + case $ax_blas_integer_size in + 4) + HAVE_64_BIT_BLAS=no diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/octave/octave_4.4.1.bb b/external/meta-openembedded/meta-oe/recipes-devtools/octave/octave_4.4.1.bb new file mode 100644 index 00000000..ec3e8258 --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/octave/octave_4.4.1.bb @@ -0,0 +1,40 @@ +DESCRIPTION = "High-level language, primarily intended for numerical computations" +HOMEPAGE = "http://www.gnu.org/software/octave/" +SECTION = "math" + +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464" + +DEPENDS = "gperf-native texinfo lapack pcre readline" + +inherit autotools pkgconfig texinfo gettext mime-xdg + +EXTRA_OECONF = "--disable-java --disable-docs" + +SRC_URI = "${GNU_MIRROR}/octave/${BPN}-${PV}.tar.gz \ + file://fix-blas-library-integer-size.patch \ +" + +SRC_URI[md5sum] = "b43bd5f4309a0c048c91af10cf8e8674" +SRC_URI[sha256sum] = "09fbd0f212f4ef21e53f1d9c41cf30ce3d7f9450fb44911601e21ed64c67ae97" + +do_compile_prepend() { + for folder in "liboctave/operators liboctave/numeric liboctave/array liboctave/util"; do + mkdir -p ${B}/${folder} + done +} + +PACKAGES =+ " octave-common liboctave liboctave-dev liboctave-dbg" + +FILES_${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${datadir}/${PN} \ + ${libdir}/${PN}/${PV}/oct ${libdir}/${PN}/${PV}/site \ + ${libdir}/${PN}/site ${datadir}/applications ${datadir}/metainfo" +FILES_${PN}-common = "${datadir}/icons" + +FILES_liboctave = "${libdir}/${PN}/${PV}/lib*${SOLIBS}" +FILES_liboctave-dev = "${libdir}/${PN}/${PV}/lib*${SOLIBSDEV}" +FILES_liboctave-dbg = "${libdir}/${PN}/${PV}/.debug" + +FILES_${PN}-dbg = "${bindir}/.debug ${libdir}/${PN}/${PV}/oct/${TARGET_SYS}/.debug" + +EXCLUDE_FROM_WORLD = "1" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-Do-not-include-syscrtl.h-with-glibc.patch b/external/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-Do-not-include-syscrtl.h-with-glibc.patch new file mode 100644 index 00000000..618ce268 --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-Do-not-include-syscrtl.h-with-glibc.patch @@ -0,0 +1,33 @@ +From a763610719e7d7f6cdc45569b6fbfdb91bb7c87b Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 27 Jul 2019 14:30:08 -0700 +Subject: [PATCH] Do not include syscrtl.h with glibc + +glibc 2.30 has deprecated it see [1] +Fixes +sys/sysctl.h:21:2: error: "The <sys/sysctl.h> header is deprecated and will be removed." [-Werror,-W#warnings] + +[1] https://sourceware.org/git/?p=glibc.git;a=commit;h=744e829637162bb7d5029632aacf341c64b86990 + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/helper/options.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/helper/options.c b/src/helper/options.c +index 12755e010..4007e37f6 100644 +--- a/src/helper/options.c ++++ b/src/helper/options.c +@@ -34,7 +34,7 @@ + #if IS_DARWIN + #include <libproc.h> + #endif +-#ifdef HAVE_SYS_SYSCTL_H ++#if defined(HAVE_SYS_SYSCTL_H) && !defined(__GLIBC__) + #include <sys/sysctl.h> + #endif + #if IS_WIN32 && !IS_CYGWIN +-- +2.22.0 + diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-Fix-libusb-1.0.22-deprecated-libusb_set_debug-with-l.patch b/external/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-Fix-libusb-1.0.22-deprecated-libusb_set_debug-with-l.patch deleted file mode 100644 index c5b9083d..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-Fix-libusb-1.0.22-deprecated-libusb_set_debug-with-l.patch +++ /dev/null @@ -1,39 +0,0 @@ -From b95a996bfb281104b68ec66f32ebb79db519a4a8 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Thu, 31 May 2018 21:06:46 -0700 -Subject: [PATCH] Fix libusb-1.0.22 deprecated libusb_set_debug with - libusb_set_option - -libusb_set_debug is deprecated in libusb >= 1.0.22 therefore replace -with equivalent libusb_set_option() API - -see libusb commit for more details - -https://github.com/libusb/libusb/commit/539f22e2fd916558d11ab9a66f10f461c5593168 - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- -Upstream-Status: Submitted [http://openocd.zylin.com/#/c/4540/] - src/jtag/drivers/xds110.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/src/jtag/drivers/xds110.c b/src/jtag/drivers/xds110.c -index 90b699027..9bfe02ea8 100644 ---- a/src/jtag/drivers/xds110.c -+++ b/src/jtag/drivers/xds110.c -@@ -367,8 +367,11 @@ static bool usb_connect(void) - - /* Set libusb to auto detach kernel and disable debug messages */ - (void)libusb_set_auto_detach_kernel_driver(dev, 1); -+#if LIBUSB_API_VERSION >= 0x01000106 -+ libusb_set_option(ctx, LIBUSB_OPTION_LOG_LEVEL, LIBUSB_LOG_LEVEL_NONE); -+#else - libusb_set_debug(ctx, LIBUSB_LOG_LEVEL_NONE); -- -+#endif - /* Claim the debug interface on the XDS110 */ - result = libusb_claim_interface(dev, INTERFACE_DEBUG); - } else { --- -2.17.1 - diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb b/external/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb index 21a86de3..e95f1cfa 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb +++ b/external/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb @@ -9,26 +9,28 @@ SRC_URI = " \ git://repo.or.cz/r/git2cl.git;protocol=http;destsuffix=tools/git2cl;name=git2cl \ git://repo.or.cz/r/jimtcl.git;protocol=http;destsuffix=git/jimtcl;name=jimtcl \ git://repo.or.cz/r/libjaylink.git;protocol=http;destsuffix=git/src/jtag/drivers/libjaylink;name=libjaylink \ - file://0001-Fix-libusb-1.0.22-deprecated-libusb_set_debug-with-l.patch \ + file://0001-Do-not-include-syscrtl.h-with-glibc.patch \ " SRCREV_FORMAT = "openocd" -SRCREV_openocd = "cdf1e826eb23c29de1019ce64125f644f01b0afe" +SRCREV_openocd = "ded67990255cc1e63c77832ffd6e6bef9120873d" SRCREV_git2cl = "8373c9f74993e218a08819cbcdbab3f3564bbeba" -SRCREV_jimtcl = "a9bf5975fd0f89974d689a2d9ebd0873c8d64787" -SRCREV_libjaylink = "8645845c1abebd004e991ba9a7f808f4fd0c608b" +SRCREV_jimtcl = "dc4ba7770d580800634f90b67a24e077b4a26d98" +SRCREV_libjaylink = "cfccbc9d6763733f1d14dff3c2dc5b75aaef136b" PV = "0.10+gitr${SRCPV}" S = "${WORKDIR}/git" inherit pkgconfig autotools-brokensep gettext -BBCLASSEXTEND += "nativesdk" +BBCLASSEXTEND += "native nativesdk" -EXTRA_OECONF = "--enable-ftdi --disable-doxygen-html" +EXTRA_OECONF = "--enable-ftdi --disable-doxygen-html --disable-werror" do_configure() { ./bootstrap nosubmodule + install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}/jimtcl/autosetup + install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}/jimtcl/autosetup oe_runconf ${EXTRA_OECONF} } @@ -51,4 +53,5 @@ FILES_${PN} = " \ " PACKAGECONFIG[sysfsgpio] = "--enable-sysfsgpio,--disable-sysfsgpio" -PACKAGECONFIG ??= "sysfsgpio" +PACKAGECONFIG[remote-bitbang] = "--enable-remote-bitbang,--disable-remote-bitbang" +PACKAGECONFIG ??= "sysfsgpio remote-bitbang" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb b/external/meta-openembedded/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb index 53fc159c..4bd9a125 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb +++ b/external/meta-openembedded/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb @@ -1,6 +1,4 @@ SUMMARY = "Packages required for a target (on-device) SDK" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" PR = "r1" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/pcimem/pcimem_2.0.bb b/external/meta-openembedded/meta-oe/recipes-devtools/pcimem/pcimem_2.0.bb new file mode 100644 index 00000000..107d5a8b --- /dev/null +++ b/external/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/external/meta-openembedded/meta-oe/recipes-devtools/perl/libdbd-mysql-perl_4.043.bb b/external/meta-openembedded/meta-oe/recipes-devtools/perl/libdbd-mysql-perl_4.050.bb index bd8ba780..049dc665 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/perl/libdbd-mysql-perl_4.043.bb +++ b/external/meta-openembedded/meta-oe/recipes-devtools/perl/libdbd-mysql-perl_4.050.bb @@ -6,20 +6,17 @@ with the MySQL relational database management system. Most functions \ provided by this programming API are supported. Some rarely used \ functions are missing, mainly because no-one ever requested them. \ " -HOMEPAGE = "http://search.cpan.org/~michielb/DBD-mysql-4.036/lib/DBD/mysql.pm" +HOMEPAGE = "https://github.com/perl5-dbi/DBD-mysql" SECTION = "libs" LICENSE = "Artistic-1.0 | GPL-1.0+" -DEPENDS += "libdbi-perl-native libmysqlclient" +DEPENDS += "libdev-checklib-perl-native libdbi-perl-native libmysqlclient" LIC_FILES_CHKSUM = "file://LICENSE;md5=d0a06964340e5c0cde88b7af611f755c" -SRC_URI = "http://search.cpan.org/CPAN/authors/id/M/MI/MICHIELB/DBD-mysql-${PV}.tar.gz \ -" - -SRC_URI[md5sum] = "4a00dd7f1c057931147c65dfc4901c36" -SRC_URI[sha256sum] = "629f865e8317f52602b2f2efd2b688002903d2e4bbcba5427cb6188b043d6f99" +SRCREV = "9b5b70ea372f49fe9bc9e592dae3870596d1e3d6" +SRC_URI = "git://github.com/perl5-dbi/DBD-mysql.git;protocol=https" -S = "${WORKDIR}/DBD-mysql-${PV}" +S = "${WORKDIR}/git" inherit cpan diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.641.bb b/external/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.643.bb index 24a1245f..75fad46b 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.641.bb +++ b/external/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.643.bb @@ -7,17 +7,11 @@ database interface independent of the actual database being used. \ HOMEPAGE = "http://search.cpan.org/dist/DBI/" SECTION = "libs" LICENSE = "Artistic-1.0 | GPL-1.0+" -RDEPENDS_${PN} = " perl-module-carp \ - perl-module-exporter \ - perl-module-exporter-heavy \ - perl-module-dynaloader \ -" - 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] = "e77fd37fcf77fc88fde029c1b75ded54" -SRC_URI[sha256sum] = "5509e532cdd0e3d91eda550578deaac29e2f008a12b64576e8c261bb92e8c2c1" +SRC_URI[md5sum] = "352f80b1e23769c116082a90905d7398" +SRC_URI[sha256sum] = "8a2b993db560a2c373c174ee976a51027dd780ec766ae17620c20393d2e836fa" S = "${WORKDIR}/DBI-${PV}" @@ -33,4 +27,36 @@ do_install_prepend() { rm -rf ${B}/t/z*.t } +RDEPENDS_${PN}_class-target = " \ + perl \ + perl-module-carp \ + perl-module-exporter \ + perl-module-exporter-heavy \ + perl-module-dynaloader \ + perl-module-io-dir \ + perl-module-scalar-util \ + perl-module-universal \ +" + +RDEPENDS_${PN}-ptest = " \ + ${PN} \ + perl-module-b \ + perl-module-benchmark \ + perl-module-cwd \ + perl-module-data-dumper \ + perl-module-encode \ + perl-module-encode-byte \ + perl-module-encode-encoding \ + perl-module-file-copy \ + perl-module-file-path \ + perl-module-lib \ + perl-module-perlio \ + perl-module-perlio-scalar \ + perl-module-perlio-via \ + perl-module-sdbm-file \ + perl-module-storable \ + perl-module-test-more \ + perl-module-utf8 \ + " + BBCLASSEXTEND = "native" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/perl/libdev-checklib-perl/0001-CheckLib.pm-don-t-execute-the-binary.patch b/external/meta-openembedded/meta-oe/recipes-devtools/perl/libdev-checklib-perl/0001-CheckLib.pm-don-t-execute-the-binary.patch new file mode 100644 index 00000000..78a7e63b --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/perl/libdev-checklib-perl/0001-CheckLib.pm-don-t-execute-the-binary.patch @@ -0,0 +1,46 @@ +From d111fd85b25466f7829ccee34493aa0e3b551308 Mon Sep 17 00:00:00 2001 +From: Mingli Yu <mingli.yu@windriver.com> +Date: Tue, 23 Apr 2019 19:13:19 -0700 +Subject: [PATCH] CheckLib.pm: don't execute the binary + +Don't execute the binary in build env as the +binary which is generated in cross compile env +may fail when executed in build env. + +And it's enough to verify the libs via successully +generate the binary which links the libs as below. + $ /yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/libdbd-mysql-perl/4.050-r0/recipe-sysroot-native/usr/bin/x86_64-poky-linux/x86_64-poky-linux-gcc \ + -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security \ + -Werror=format-security --sysroot=/yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/libdbd-mysql-perl/4.050-r0/recipe-sysroot \ + -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/perl/5.28.1-r1=/usr/src/debug/perl/5.28.1-r1 \ + -fdebug-prefix-map=/yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/perl/5.28.1-r1=/usr/src/debug/perl/5.28.1-r1 \ + -fdebug-prefix-map=/yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/libdbd-mysql-perl/4.050-r0/recipe-sysroot= -fdebug-prefix-map=/yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/libdbd-mysql-perl/4.050-r0/recipe-sysroot-native= -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 assertlibEhx19yuY.c -L/yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/libdbd-mysql-perl/4.050-r0/recipe-sysroot/usr/lib -lcrypto -fstack-protector-strong -o assertlibCOw_eujb + +Execute the binary in cross compile env as below +and use the return status to determine the lib's +checking status is not appropriate in cross compile env. + $ /yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/libdbd-mysql-perl/4.050-r0/git/assertlibCOw_eujb + +Upstream-Status: Inappropriate[oe specific] + +Signed-off-by: Mingli Yu <mingli.yu@windriver.com> +--- + lib/Devel/CheckLib.pm | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/Devel/CheckLib.pm b/lib/Devel/CheckLib.pm +index e45cfb4..d228bb5 100644 +--- a/lib/Devel/CheckLib.pm ++++ b/lib/Devel/CheckLib.pm +@@ -424,7 +424,7 @@ sub assert_lib { + my $absexefile = File::Spec->rel2abs($exefile); + $absexefile = '"'.$absexefile.'"' if $absexefile =~ m/\s/; + if (!$not_execute && system($absexefile) != 0) { +- push @wrongresult, $lib; ++ print "Checking the lib $lib\n"; + } + else { + if ($analyze_binary) { +-- +2.17.1 + diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/perl/libdev-checklib-perl_1.14.bb b/external/meta-openembedded/meta-oe/recipes-devtools/perl/libdev-checklib-perl_1.14.bb new file mode 100644 index 00000000..a96e3adc --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/perl/libdev-checklib-perl_1.14.bb @@ -0,0 +1,21 @@ +SUMMARY = "A Perl module that checks whether a particular C library and its headers are available" +DESCRIPTION = "This module provides a way of checking whether a particular library \ +and its headers are available, by attempting to compile a simple program and \ +link against it." +HOMEPAGE = "https://metacpan.org/pod/Devel::CheckLib" +SECTION = "libs" +LICENSE = "Artistic-1.0 | GPL-1.0+" + +LIC_FILES_CHKSUM = "file://README;md5=7911cdbb572d25c5f2e2ea17f669efc2" + +SRC_URI = "https://cpan.metacpan.org/modules/by-module/Devel/Devel-CheckLib-${PV}.tar.gz \ + file://0001-CheckLib.pm-don-t-execute-the-binary.patch \ +" +SRC_URI[md5sum] = "3519cbf9fe5ec3404449d5330ee5537f" +SRC_URI[sha256sum] = "f21c5e299ad3ce0fdc0cb0f41378dca85a70e8d6c9a7599f0e56a957200ec294" + +S = "${WORKDIR}/Devel-CheckLib-${PV}" + +inherit cpan + +BBCLASSEXTEND="native" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/perl/libio-pty-perl_1.12.bb b/external/meta-openembedded/meta-oe/recipes-devtools/perl/libio-pty-perl_1.14.bb index b1a95e57..1ab21d1d 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/perl/libio-pty-perl_1.12.bb +++ b/external/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/external/meta-openembedded/meta-oe/recipes-devtools/perl/libjson-perl_4.02000.bb b/external/meta-openembedded/meta-oe/recipes-devtools/perl/libjson-perl_4.02000.bb new file mode 100644 index 00000000..4e5a8a6f --- /dev/null +++ b/external/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/external/meta-openembedded/meta-oe/recipes-devtools/perl/libperlio-gzip-perl_0.20.bb b/external/meta-openembedded/meta-oe/recipes-devtools/perl/libperlio-gzip-perl_0.20.bb new file mode 100644 index 00000000..ffe7a7d9 --- /dev/null +++ b/external/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/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-Add-lpthread-to-link.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-Add-lpthread-to-link.patch deleted file mode 100644 index f70e550f..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-Add-lpthread-to-link.patch +++ /dev/null @@ -1,38 +0,0 @@ -From ed0a954983d50267c2fc0bc13aba929ea0cad971 Mon Sep 17 00:00:00 2001 -From: Dengke Du <dengke.du@windriver.com> -Date: Tue, 2 May 2017 06:34:40 +0000 -Subject: [PATCH] Add -lpthread to link - -When building the php-5.6.26, the following errors occured: - - ld: TSRM/.libs/TSRM.o: undefined reference to symbol - 'pthread_sigmask@@GLIBC_2.2.5' - - error adding symbols: DSO missing from command line - -This is because no pthread to link, so we should add it. - -Upstream-Status: Pending - -Signed-off-by: Dengke Du <dengke.du@windriver.com> ---- - configure.in | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/configure.in b/configure.in -index a467dff1..9afef652 100644 ---- a/configure.in -+++ b/configure.in -@@ -1058,7 +1058,8 @@ case $php_sapi_module in - ;; - esac - --EXTRA_LIBS="$EXTRA_LIBS $DLIBS $LIBS" -+PTHREAD_LIBS="-lpthread" -+EXTRA_LIBS="$EXTRA_LIBS $DLIBS $LIBS $PTHREAD_LIBS" - - dnl this has to be here to prevent the openssl crypt() from - dnl overriding the system provided crypt(). --- -2.11.0 - diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-PHP-5.6-LibSSL-1.1-compatibility.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-PHP-5.6-LibSSL-1.1-compatibility.patch deleted file mode 100644 index ac8365b8..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-PHP-5.6-LibSSL-1.1-compatibility.patch +++ /dev/null @@ -1,1285 +0,0 @@ -Subject: [PATCH] PHP 5.6 - LibSSL 1.1 compatibility - -This patch does not try to backport the 7.1 openssl module, it is the -improved version of the 5.6 original openssl module. - -https://github.com/oerdnj/deb.sury.org/issues/566 -http://zettasystem.com/PHP-5.6.31-OpenSSL-1.1.0-compatibility-20170801.patch - -Upstream-Status: Deny [https://github.com/php/php-src/pull/2667] -Reason: As PHP 5.6 is no longer actively supported only security fixes -may land on this branch. As this change does not fall in this category, -I'm closing this PR. (All higher versions of PHP already have OpenSSL -1.1 support.) - -Author: zsalab@github https://github.com/zsalab - -Only port source modification, do not include the test case -Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> ---- - ext/openssl/openssl.c | 683 +++++++++++++++++++++++++++++++++++++------------- - ext/openssl/xp_ssl.c | 18 +- - ext/phar/util.c | 13 +- - 3 files changed, 527 insertions(+), 187 deletions(-) - -diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c -index a78a8fb..b53114c 100644 ---- a/ext/openssl/openssl.c -+++ b/ext/openssl/openssl.c -@@ -42,6 +42,12 @@ - - /* OpenSSL includes */ - #include <openssl/evp.h> -+#if OPENSSL_VERSION_NUMBER >= 0x10002000L -+#include <openssl/bn.h> -+#include <openssl/rsa.h> -+#include <openssl/dsa.h> -+#include <openssl/dh.h> -+#endif - #include <openssl/x509.h> - #include <openssl/x509v3.h> - #include <openssl/crypto.h> -@@ -531,6 +537,133 @@ zend_module_entry openssl_module_entry = { - ZEND_GET_MODULE(openssl) - #endif - -+/* {{{ OpenSSL compatibility functions and macros */ -+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER) -+#define EVP_PKEY_get0_RSA(_pkey) _pkey->pkey.rsa -+#define EVP_PKEY_get0_DH(_pkey) _pkey->pkey.dh -+#define EVP_PKEY_get0_DSA(_pkey) _pkey->pkey.dsa -+#define EVP_PKEY_get0_EC_KEY(_pkey) _pkey->pkey.ec -+ -+static int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d) -+{ -+ r->n = n; -+ r->e = e; -+ r->d = d; -+ -+ return 1; -+} -+ -+static int RSA_set0_factors(RSA *r, BIGNUM *p, BIGNUM *q) -+{ -+ r->p = p; -+ r->q = q; -+ -+ return 1; -+} -+ -+static int RSA_set0_crt_params(RSA *r, BIGNUM *dmp1, BIGNUM *dmq1, BIGNUM *iqmp) -+{ -+ r->dmp1 = dmp1; -+ r->dmq1 = dmq1; -+ r->iqmp = iqmp; -+ -+ return 1; -+} -+ -+static void RSA_get0_key(const RSA *r, const BIGNUM **n, const BIGNUM **e, const BIGNUM **d) -+{ -+ *n = r->n; -+ *e = r->e; -+ *d = r->d; -+} -+ -+static void RSA_get0_factors(const RSA *r, const BIGNUM **p, const BIGNUM **q) -+{ -+ *p = r->p; -+ *q = r->q; -+} -+ -+static void RSA_get0_crt_params(const RSA *r, const BIGNUM **dmp1, const BIGNUM **dmq1, const BIGNUM **iqmp) -+{ -+ *dmp1 = r->dmp1; -+ *dmq1 = r->dmq1; -+ *iqmp = r->iqmp; -+} -+ -+static void DH_get0_pqg(const DH *dh, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g) -+{ -+ *p = dh->p; -+ *q = dh->q; -+ *g = dh->g; -+} -+ -+static int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g) -+{ -+ dh->p = p; -+ dh->q = q; -+ dh->g = g; -+ -+ return 1; -+} -+ -+static void DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key) -+{ -+ *pub_key = dh->pub_key; -+ *priv_key = dh->priv_key; -+} -+ -+static int DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key) -+{ -+ dh->pub_key = pub_key; -+ dh->priv_key = priv_key; -+ -+ return 1; -+} -+ -+static void DSA_get0_pqg(const DSA *d, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g) -+{ -+ *p = d->p; -+ *q = d->q; -+ *g = d->g; -+} -+ -+int DSA_set0_pqg(DSA *d, BIGNUM *p, BIGNUM *q, BIGNUM *g) -+{ -+ d->p = p; -+ d->q = q; -+ d->g = g; -+ -+ return 1; -+} -+ -+static void DSA_get0_key(const DSA *d, const BIGNUM **pub_key, const BIGNUM **priv_key) -+{ -+ *pub_key = d->pub_key; -+ *priv_key = d->priv_key; -+} -+ -+int DSA_set0_key(DSA *d, BIGNUM *pub_key, BIGNUM *priv_key) -+{ -+ d->pub_key = pub_key; -+ d->priv_key = priv_key; -+ -+ return 1; -+} -+ -+#if OPENSSL_VERSION_NUMBER < 0x10002000L || defined (LIBRESSL_VERSION_NUMBER) -+#define EVP_PKEY_id(_pkey) _pkey->type -+#define EVP_PKEY_base_id(_key) EVP_PKEY_type(_key->type) -+ -+static int X509_get_signature_nid(const X509 *x) -+{ -+ return OBJ_obj2nid(x->sig_alg->algorithm); -+} -+ -+#endif -+ -+#endif -+/* }}} */ -+ - static int le_key; - static int le_x509; - static int le_csr; -@@ -825,7 +958,7 @@ static int add_oid_section(struct php_x509_request * req TSRMLS_DC) /* {{{ */ - } - for (i = 0; i < sk_CONF_VALUE_num(sktmp); i++) { - cnf = sk_CONF_VALUE_value(sktmp, i); -- if (OBJ_create(cnf->value, cnf->name, cnf->name) == NID_undef) { -+ if (OBJ_sn2nid(cnf->name) == NID_undef && OBJ_ln2nid(cnf->name) == NID_undef && OBJ_create(cnf->value, cnf->name, cnf->name) == NID_undef) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "problem creating object %s=%s", cnf->name, cnf->value); - return FAILURE; - } -@@ -967,7 +1100,7 @@ static void php_openssl_dispose_config(struct php_x509_request * req TSRMLS_DC) - } - /* }}} */ - --#ifdef PHP_WIN32 -+#if defined(PHP_WIN32) || (OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)) - #define PHP_OPENSSL_RAND_ADD_TIME() ((void) 0) - #else - #define PHP_OPENSSL_RAND_ADD_TIME() php_openssl_rand_add_timeval() -@@ -1053,9 +1186,11 @@ static EVP_MD * php_openssl_get_evp_md_from_algo(long algo) { /* {{{ */ - mdtype = (EVP_MD *) EVP_md2(); - break; - #endif -+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER) - case OPENSSL_ALGO_DSS1: - mdtype = (EVP_MD *) EVP_dss1(); - break; -+#endif - #if OPENSSL_VERSION_NUMBER >= 0x0090708fL - case OPENSSL_ALGO_SHA224: - mdtype = (EVP_MD *) EVP_sha224(); -@@ -1146,6 +1281,12 @@ PHP_MINIT_FUNCTION(openssl) - OpenSSL_add_all_digests(); - OpenSSL_add_all_algorithms(); - -+#if !defined(OPENSSL_NO_AES) && defined(EVP_CIPH_CCM_MODE) && OPENSSL_VERSION_NUMBER < 0x100020000 -+ EVP_add_cipher(EVP_aes_128_ccm()); -+ EVP_add_cipher(EVP_aes_192_ccm()); -+ EVP_add_cipher(EVP_aes_256_ccm()); -+#endif -+ - SSL_load_error_strings(); - - /* register a resource id number with OpenSSL so that we can map SSL -> stream structures in -@@ -1173,7 +1314,9 @@ PHP_MINIT_FUNCTION(openssl) - #ifdef HAVE_OPENSSL_MD2_H - REGISTER_LONG_CONSTANT("OPENSSL_ALGO_MD2", OPENSSL_ALGO_MD2, CONST_CS|CONST_PERSISTENT); - #endif -+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER) - REGISTER_LONG_CONSTANT("OPENSSL_ALGO_DSS1", OPENSSL_ALGO_DSS1, CONST_CS|CONST_PERSISTENT); -+#endif - #if OPENSSL_VERSION_NUMBER >= 0x0090708fL - REGISTER_LONG_CONSTANT("OPENSSL_ALGO_SHA224", OPENSSL_ALGO_SHA224, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OPENSSL_ALGO_SHA256", OPENSSL_ALGO_SHA256, CONST_CS|CONST_PERSISTENT); -@@ -1251,7 +1394,9 @@ PHP_MINIT_FUNCTION(openssl) - } - - php_stream_xport_register("ssl", php_openssl_ssl_socket_factory TSRMLS_CC); -+#ifndef OPENSSL_NO_SSL3 - php_stream_xport_register("sslv3", php_openssl_ssl_socket_factory TSRMLS_CC); -+#endif - #ifndef OPENSSL_NO_SSL2 - php_stream_xport_register("sslv2", php_openssl_ssl_socket_factory TSRMLS_CC); - #endif -@@ -1308,7 +1453,9 @@ PHP_MSHUTDOWN_FUNCTION(openssl) - #ifndef OPENSSL_NO_SSL2 - php_stream_xport_unregister("sslv2" TSRMLS_CC); - #endif -+#ifndef OPENSSL_NO_SSL3 - php_stream_xport_unregister("sslv3" TSRMLS_CC); -+#endif - php_stream_xport_unregister("tls" TSRMLS_CC); - php_stream_xport_unregister("tlsv1.0" TSRMLS_CC); - #if OPENSSL_VERSION_NUMBER >= 0x10001001L -@@ -1893,6 +2040,7 @@ static int openssl_x509v3_subjectAltName(BIO *bio, X509_EXTENSION *extension) - { - GENERAL_NAMES *names; - const X509V3_EXT_METHOD *method = NULL; -+ ASN1_OCTET_STRING *extension_data; - long i, length, num; - const unsigned char *p; - -@@ -1901,8 +2049,9 @@ static int openssl_x509v3_subjectAltName(BIO *bio, X509_EXTENSION *extension) - return -1; - } - -- p = extension->value->data; -- length = extension->value->length; -+ extension_data = X509_EXTENSION_get_data(extension); -+ p = extension_data->data; -+ length = extension_data->length; - if (method->it) { - names = (GENERAL_NAMES*)(ASN1_item_d2i(NULL, &p, length, - ASN1_ITEM_ptr(method->it))); -@@ -1965,6 +2114,8 @@ PHP_FUNCTION(openssl_x509_parse) - char * tmpstr; - zval * subitem; - X509_EXTENSION *extension; -+ X509_NAME *subject_name; -+ char *cert_name; - char *extname; - BIO *bio_out; - BUF_MEM *bio_buf; -@@ -1979,10 +2130,10 @@ PHP_FUNCTION(openssl_x509_parse) - } - array_init(return_value); - -- if (cert->name) { -- add_assoc_string(return_value, "name", cert->name, 1); -- } --/* add_assoc_bool(return_value, "valid", cert->valid); */ -+ subject_name = X509_get_subject_name(cert); -+ cert_name = X509_NAME_oneline(subject_name, NULL, 0); -+ add_assoc_string(return_value, "name", cert_name, 1); -+ OPENSSL_free(cert_name); - - add_assoc_name_entry(return_value, "subject", X509_get_subject_name(cert), useshortnames TSRMLS_CC); - /* hash as used in CA directories to lookup cert by subject name */ -@@ -2008,7 +2159,7 @@ PHP_FUNCTION(openssl_x509_parse) - add_assoc_string(return_value, "alias", tmpstr, 1); - } - -- sig_nid = OBJ_obj2nid((cert)->sig_alg->algorithm); -+ sig_nid = X509_get_signature_nid(cert); - add_assoc_string(return_value, "signatureTypeSN", (char*)OBJ_nid2sn(sig_nid), 1); - add_assoc_string(return_value, "signatureTypeLN", (char*)OBJ_nid2ln(sig_nid), 1); - add_assoc_long(return_value, "signatureTypeNID", sig_nid); -@@ -3217,7 +3368,21 @@ PHP_FUNCTION(openssl_csr_get_public_key) - RETURN_FALSE; - } - -- tpubkey=X509_REQ_get_pubkey(csr); -+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) -+ /* Due to changes in OpenSSL 1.1 related to locking when decoding CSR, -+ * the pub key is not changed after assigning. It means if we pass -+ * a private key, it will be returned including the private part. -+ * If we duplicate it, then we get just the public part which is -+ * the same behavior as for OpenSSL 1.0 */ -+ csr = X509_REQ_dup(csr); -+#endif -+ /* Retrieve the public key from the CSR */ -+ tpubkey = X509_REQ_get_pubkey(csr); -+ -+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) -+ /* We need to free the CSR as it was duplicated */ -+ X509_REQ_free(csr); -+#endif - RETVAL_RESOURCE(zend_list_insert(tpubkey, le_key TSRMLS_CC)); - return; - } -@@ -3482,13 +3647,20 @@ static int php_openssl_is_private_key(EVP_PKEY* pkey TSRMLS_DC) - { - assert(pkey != NULL); - -- switch (pkey->type) { -+ switch (EVP_PKEY_id(pkey)) { - #ifndef NO_RSA - case EVP_PKEY_RSA: - case EVP_PKEY_RSA2: -- assert(pkey->pkey.rsa != NULL); -- if (pkey->pkey.rsa != NULL && (NULL == pkey->pkey.rsa->p || NULL == pkey->pkey.rsa->q)) { -- return 0; -+ { -+ RSA *rsa = EVP_PKEY_get0_RSA(pkey); -+ if (rsa != NULL) { -+ const BIGNUM *p, *q; -+ -+ RSA_get0_factors(rsa, &p, &q); -+ if (p == NULL || q == NULL) { -+ return 0; -+ } -+ } - } - break; - #endif -@@ -3498,28 +3670,51 @@ static int php_openssl_is_private_key(EVP_PKEY* pkey TSRMLS_DC) - case EVP_PKEY_DSA2: - case EVP_PKEY_DSA3: - case EVP_PKEY_DSA4: -- assert(pkey->pkey.dsa != NULL); -- -- if (NULL == pkey->pkey.dsa->p || NULL == pkey->pkey.dsa->q || NULL == pkey->pkey.dsa->priv_key){ -- return 0; -+ { -+ DSA *dsa = EVP_PKEY_get0_DSA(pkey); -+ if (dsa != NULL) { -+ const BIGNUM *p, *q, *g, *pub_key, *priv_key; -+ -+ DSA_get0_pqg(dsa, &p, &q, &g); -+ if (p == NULL || q == NULL) { -+ return 0; -+ } -+ -+ DSA_get0_key(dsa, &pub_key, &priv_key); -+ if (priv_key == NULL) { -+ return 0; -+ } -+ } - } - break; - #endif - #ifndef NO_DH - case EVP_PKEY_DH: -- assert(pkey->pkey.dh != NULL); -- -- if (NULL == pkey->pkey.dh->p || NULL == pkey->pkey.dh->priv_key) { -- return 0; -+ { -+ DH *dh = EVP_PKEY_get0_DH(pkey); -+ if (dh != NULL) { -+ const BIGNUM *p, *q, *g, *pub_key, *priv_key; -+ -+ DH_get0_pqg(dh, &p, &q, &g); -+ if (p == NULL) { -+ return 0; -+ } -+ -+ DH_get0_key(dh, &pub_key, &priv_key); -+ if (priv_key == NULL) { -+ return 0; -+ } -+ } - } - break; - #endif - #ifdef HAVE_EVP_PKEY_EC - case EVP_PKEY_EC: -- assert(pkey->pkey.ec != NULL); -- -- if ( NULL == EC_KEY_get0_private_key(pkey->pkey.ec)) { -- return 0; -+ { -+ EC_KEY *ec = EVP_PKEY_get0_EC_KEY(pkey); -+ if (ec != NULL && NULL == EC_KEY_get0_private_key(ec)) { -+ return 0; -+ } - } - break; - #endif -@@ -3531,34 +3726,80 @@ static int php_openssl_is_private_key(EVP_PKEY* pkey TSRMLS_DC) - } - /* }}} */ - --#define OPENSSL_PKEY_GET_BN(_type, _name) do { \ -- if (pkey->pkey._type->_name != NULL) { \ -- int len = BN_num_bytes(pkey->pkey._type->_name); \ -- char *str = emalloc(len + 1); \ -- BN_bn2bin(pkey->pkey._type->_name, (unsigned char*)str); \ -- str[len] = 0; \ -- add_assoc_stringl(_type, #_name, str, len, 0); \ -- } \ -- } while (0) -- --#define OPENSSL_PKEY_SET_BN(_ht, _type, _name) do { \ -- zval **bn; \ -- if (zend_hash_find(_ht, #_name, sizeof(#_name), (void**)&bn) == SUCCESS && \ -- Z_TYPE_PP(bn) == IS_STRING) { \ -- _type->_name = BN_bin2bn( \ -- (unsigned char*)Z_STRVAL_PP(bn), \ -- Z_STRLEN_PP(bn), NULL); \ -- } \ -+#define OPENSSL_GET_BN(_array, _bn, _name) do { \ -+ if (_bn != NULL) { \ -+ int len = BN_num_bytes(_bn); \ -+ char *str = emalloc(len + 1); \ -+ BN_bn2bin(_bn, (unsigned char*)str); \ -+ str[len] = 0; \ -+ add_assoc_stringl(_array, #_name, str, len, 0); \ -+ } \ - } while (0); - -+#define OPENSSL_PKEY_GET_BN(_type, _name) OPENSSL_GET_BN(_type, _name, _name) -+ -+#define OPENSSL_PKEY_SET_BN(_data, _name) do { \ -+ zval **bn; \ -+ if (zend_hash_find(Z_ARRVAL_P(_data), #_name, sizeof(#_name),(void**)&bn) == SUCCESS && \ -+ Z_TYPE_PP(bn) == IS_STRING) { \ -+ _name = BN_bin2bn( \ -+ (unsigned char*)Z_STRVAL_PP(bn), \ -+ Z_STRLEN_PP(bn), NULL); \ -+ } else { \ -+ _name = NULL; \ -+ } \ -+ } while (0); -+ -+/* {{{ php_openssl_pkey_init_rsa */ -+zend_bool php_openssl_pkey_init_and_assign_rsa(EVP_PKEY *pkey, RSA *rsa, zval *data) -+{ -+ BIGNUM *n, *e, *d, *p, *q, *dmp1, *dmq1, *iqmp; -+ -+ OPENSSL_PKEY_SET_BN(data, n); -+ OPENSSL_PKEY_SET_BN(data, e); -+ OPENSSL_PKEY_SET_BN(data, d); -+ if (!n || !d || !RSA_set0_key(rsa, n, e, d)) { -+ return 0; -+ } -+ -+ OPENSSL_PKEY_SET_BN(data, p); -+ OPENSSL_PKEY_SET_BN(data, q); -+ if ((p || q) && !RSA_set0_factors(rsa, p, q)) { -+ return 0; -+ } -+ -+ OPENSSL_PKEY_SET_BN(data, dmp1); -+ OPENSSL_PKEY_SET_BN(data, dmq1); -+ OPENSSL_PKEY_SET_BN(data, iqmp); -+ if ((dmp1 || dmq1 || iqmp) && !RSA_set0_crt_params(rsa, dmp1, dmq1, iqmp)) { -+ return 0; -+ } -+ -+ if (!EVP_PKEY_assign_RSA(pkey, rsa)) { -+ return 0; -+ } -+ -+ return 1; -+} -+/* }}} */ -+ - /* {{{ php_openssl_pkey_init_dsa */ --zend_bool php_openssl_pkey_init_dsa(DSA *dsa) -+zend_bool php_openssl_pkey_init_dsa(DSA *dsa, zval *data) - { -- if (!dsa->p || !dsa->q || !dsa->g) { -+ BIGNUM *p, *q, *g, *priv_key, *pub_key; -+ const BIGNUM *priv_key_const, *pub_key_const; -+ -+ OPENSSL_PKEY_SET_BN(data, p); -+ OPENSSL_PKEY_SET_BN(data, q); -+ OPENSSL_PKEY_SET_BN(data, g); -+ if (!p || !q || !g || !DSA_set0_pqg(dsa, p, q, g)) { - return 0; - } -- if (dsa->priv_key || dsa->pub_key) { -- return 1; -+ -+ OPENSSL_PKEY_SET_BN(data, pub_key); -+ OPENSSL_PKEY_SET_BN(data, priv_key); -+ if (pub_key) { -+ return DSA_set0_key(dsa, pub_key, priv_key); - } - PHP_OPENSSL_RAND_ADD_TIME(); - if (!DSA_generate_key(dsa)) { -@@ -3566,7 +3807,8 @@ zend_bool php_openssl_pkey_init_dsa(DSA *dsa) - } - /* if BN_mod_exp return -1, then DSA_generate_key succeed for failed key - * so we need to double check that public key is created */ -- if (!dsa->pub_key || BN_is_zero(dsa->pub_key)) { -+ DSA_get0_key(dsa, &pub_key_const, &priv_key_const); -+ if (!pub_key_const || BN_is_zero(pub_key_const)) { - return 0; - } - /* all good */ -@@ -3574,14 +3816,66 @@ zend_bool php_openssl_pkey_init_dsa(DSA *dsa) - } - /* }}} */ - -+/* {{{ php_openssl_dh_pub_from_priv */ -+static BIGNUM *php_openssl_dh_pub_from_priv(BIGNUM *priv_key, BIGNUM *g, BIGNUM *p) -+{ -+ BIGNUM *pub_key, *priv_key_const_time; -+ BN_CTX *ctx; -+ -+ pub_key = BN_new(); -+ if (pub_key == NULL) { -+ return NULL; -+ } -+ -+ priv_key_const_time = BN_new(); -+ if (priv_key_const_time == NULL) { -+ BN_free(pub_key); -+ return NULL; -+ } -+ ctx = BN_CTX_new(); -+ if (ctx == NULL) { -+ BN_free(pub_key); -+ BN_free(priv_key_const_time); -+ return NULL; -+ } -+ -+ BN_with_flags(priv_key_const_time, priv_key, BN_FLG_CONSTTIME); -+ -+ if (!BN_mod_exp_mont(pub_key, g, priv_key_const_time, p, ctx, NULL)) { -+ BN_free(pub_key); -+ pub_key = NULL; -+ } -+ -+ BN_free(priv_key_const_time); -+ BN_CTX_free(ctx); -+ -+ return pub_key; -+} -+/* }}} */ -+ - /* {{{ php_openssl_pkey_init_dh */ --zend_bool php_openssl_pkey_init_dh(DH *dh) -+zend_bool php_openssl_pkey_init_dh(DH *dh, zval *data) - { -- if (!dh->p || !dh->g) { -+ BIGNUM *p, *q, *g, *priv_key, *pub_key; -+ -+ OPENSSL_PKEY_SET_BN(data, p); -+ OPENSSL_PKEY_SET_BN(data, q); -+ OPENSSL_PKEY_SET_BN(data, g); -+ if (!p || !g || !DH_set0_pqg(dh, p, q, g)) { - return 0; - } -- if (dh->pub_key) { -- return 1; -+ -+ OPENSSL_PKEY_SET_BN(data, priv_key); -+ OPENSSL_PKEY_SET_BN(data, pub_key); -+ if (pub_key) { -+ return DH_set0_key(dh, pub_key, priv_key); -+ } -+ if (priv_key) { -+ pub_key = php_openssl_dh_pub_from_priv(priv_key, g, p); -+ if (pub_key == NULL) { -+ return 0; -+ } -+ return DH_set0_key(dh, pub_key, priv_key); - } - PHP_OPENSSL_RAND_ADD_TIME(); - if (!DH_generate_key(dh)) { -@@ -3614,18 +3908,8 @@ PHP_FUNCTION(openssl_pkey_new) - if (pkey) { - RSA *rsa = RSA_new(); - if (rsa) { -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, n); -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, e); -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, d); -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, p); -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, q); -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, dmp1); -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, dmq1); -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, iqmp); -- if (rsa->n && rsa->d) { -- if (EVP_PKEY_assign_RSA(pkey, rsa)) { -- RETURN_RESOURCE(zend_list_insert(pkey, le_key TSRMLS_CC)); -- } -+ if (php_openssl_pkey_init_and_assign_rsa(pkey, rsa, *data)) { -+ RETURN_RESOURCE(zend_list_insert(pkey, le_key TSRMLS_CC)); - } - RSA_free(rsa); - } -@@ -3638,12 +3922,7 @@ PHP_FUNCTION(openssl_pkey_new) - if (pkey) { - DSA *dsa = DSA_new(); - if (dsa) { -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dsa, p); -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dsa, q); -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dsa, g); -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dsa, priv_key); -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dsa, pub_key); -- if (php_openssl_pkey_init_dsa(dsa)) { -+ if (php_openssl_pkey_init_dsa(dsa, *data)) { - if (EVP_PKEY_assign_DSA(pkey, dsa)) { - RETURN_RESOURCE(zend_list_insert(pkey, le_key TSRMLS_CC)); - } -@@ -3659,11 +3938,7 @@ PHP_FUNCTION(openssl_pkey_new) - if (pkey) { - DH *dh = DH_new(); - if (dh) { -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dh, p); -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dh, g); -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dh, priv_key); -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dh, pub_key); -- if (php_openssl_pkey_init_dh(dh)) { -+ if (php_openssl_pkey_init_dh(dh, *data)) { - if (EVP_PKEY_assign_DH(pkey, dh)) { - RETURN_RESOURCE(zend_list_insert(pkey, le_key TSRMLS_CC)); - } -@@ -3738,10 +4013,10 @@ PHP_FUNCTION(openssl_pkey_export_to_file) - cipher = NULL; - } - -- switch (EVP_PKEY_type(key->type)) { -+ switch (EVP_PKEY_base_id(key)) { - #ifdef HAVE_EVP_PKEY_EC - case EVP_PKEY_EC: -- pem_write = PEM_write_bio_ECPrivateKey(bio_out, EVP_PKEY_get1_EC_KEY(key), cipher, (unsigned char *)passphrase, passphrase_len, NULL, NULL); -+ pem_write = PEM_write_bio_ECPrivateKey(bio_out, EVP_PKEY_get0_EC_KEY(key), cipher, (unsigned char *)passphrase, passphrase_len, NULL, NULL); - break; - #endif - default: -@@ -3807,7 +4082,7 @@ PHP_FUNCTION(openssl_pkey_export) - cipher = NULL; - } - -- switch (EVP_PKEY_type(key->type)) { -+ switch (EVP_PKEY_base_id(key)) { - #ifdef HAVE_EVP_PKEY_EC - case EVP_PKEY_EC: - pem_write = PEM_write_bio_ECPrivateKey(bio_out, EVP_PKEY_get1_EC_KEY(key), cipher, (unsigned char *)passphrase, passphrase_len, NULL, NULL); -@@ -3928,25 +4203,33 @@ PHP_FUNCTION(openssl_pkey_get_details) - /*TODO: Use the real values once the openssl constants are used - * See the enum at the top of this file - */ -- switch (EVP_PKEY_type(pkey->type)) { -+ switch (EVP_PKEY_base_id(pkey)) { - case EVP_PKEY_RSA: - case EVP_PKEY_RSA2: -- ktype = OPENSSL_KEYTYPE_RSA; -- -- if (pkey->pkey.rsa != NULL) { -- zval *rsa; -- -- ALLOC_INIT_ZVAL(rsa); -- array_init(rsa); -- OPENSSL_PKEY_GET_BN(rsa, n); -- OPENSSL_PKEY_GET_BN(rsa, e); -- OPENSSL_PKEY_GET_BN(rsa, d); -- OPENSSL_PKEY_GET_BN(rsa, p); -- OPENSSL_PKEY_GET_BN(rsa, q); -- OPENSSL_PKEY_GET_BN(rsa, dmp1); -- OPENSSL_PKEY_GET_BN(rsa, dmq1); -- OPENSSL_PKEY_GET_BN(rsa, iqmp); -- add_assoc_zval(return_value, "rsa", rsa); -+ { -+ RSA *rsa = EVP_PKEY_get0_RSA(pkey); -+ ktype = OPENSSL_KEYTYPE_RSA; -+ -+ if (rsa != NULL) { -+ zval *z_rsa; -+ const BIGNUM *n, *e, *d, *p, *q, *dmp1, *dmq1, *iqmp; -+ -+ RSA_get0_key(rsa, &n, &e, &d); -+ RSA_get0_factors(rsa, &p, &q); -+ RSA_get0_crt_params(rsa, &dmp1, &dmq1, &iqmp); -+ -+ ALLOC_INIT_ZVAL(z_rsa); -+ array_init(z_rsa); -+ OPENSSL_PKEY_GET_BN(z_rsa, n); -+ OPENSSL_PKEY_GET_BN(z_rsa, e); -+ OPENSSL_PKEY_GET_BN(z_rsa, d); -+ OPENSSL_PKEY_GET_BN(z_rsa, p); -+ OPENSSL_PKEY_GET_BN(z_rsa, q); -+ OPENSSL_PKEY_GET_BN(z_rsa, dmp1); -+ OPENSSL_PKEY_GET_BN(z_rsa, dmq1); -+ OPENSSL_PKEY_GET_BN(z_rsa, iqmp); -+ add_assoc_zval(return_value, "rsa", z_rsa); -+ } - } - - break; -@@ -3954,42 +4237,55 @@ PHP_FUNCTION(openssl_pkey_get_details) - case EVP_PKEY_DSA2: - case EVP_PKEY_DSA3: - case EVP_PKEY_DSA4: -- ktype = OPENSSL_KEYTYPE_DSA; -- -- if (pkey->pkey.dsa != NULL) { -- zval *dsa; -- -- ALLOC_INIT_ZVAL(dsa); -- array_init(dsa); -- OPENSSL_PKEY_GET_BN(dsa, p); -- OPENSSL_PKEY_GET_BN(dsa, q); -- OPENSSL_PKEY_GET_BN(dsa, g); -- OPENSSL_PKEY_GET_BN(dsa, priv_key); -- OPENSSL_PKEY_GET_BN(dsa, pub_key); -- add_assoc_zval(return_value, "dsa", dsa); -+ { -+ DSA *dsa = EVP_PKEY_get0_DSA(pkey); -+ ktype = OPENSSL_KEYTYPE_DSA; -+ -+ if (dsa != NULL) { -+ zval *z_dsa; -+ const BIGNUM *p, *q, *g, *priv_key, *pub_key; -+ -+ DSA_get0_pqg(dsa, &p, &q, &g); -+ DSA_get0_key(dsa, &pub_key, &priv_key); -+ -+ ALLOC_INIT_ZVAL(z_dsa); -+ array_init(z_dsa); -+ OPENSSL_PKEY_GET_BN(z_dsa, p); -+ OPENSSL_PKEY_GET_BN(z_dsa, q); -+ OPENSSL_PKEY_GET_BN(z_dsa, g); -+ OPENSSL_PKEY_GET_BN(z_dsa, priv_key); -+ OPENSSL_PKEY_GET_BN(z_dsa, pub_key); -+ add_assoc_zval(return_value, "dsa", z_dsa); -+ } - } - break; - case EVP_PKEY_DH: -- -- ktype = OPENSSL_KEYTYPE_DH; -- -- if (pkey->pkey.dh != NULL) { -- zval *dh; -- -- ALLOC_INIT_ZVAL(dh); -- array_init(dh); -- OPENSSL_PKEY_GET_BN(dh, p); -- OPENSSL_PKEY_GET_BN(dh, g); -- OPENSSL_PKEY_GET_BN(dh, priv_key); -- OPENSSL_PKEY_GET_BN(dh, pub_key); -- add_assoc_zval(return_value, "dh", dh); -+ { -+ DH *dh = EVP_PKEY_get0_DH(pkey); -+ ktype = OPENSSL_KEYTYPE_DH; -+ -+ if (dh != NULL) { -+ zval *z_dh; -+ const BIGNUM *p, *q, *g, *priv_key, *pub_key; -+ -+ DH_get0_pqg(dh, &p, &q, &g); -+ DH_get0_key(dh, &pub_key, &priv_key); -+ -+ ALLOC_INIT_ZVAL(z_dh); -+ array_init(z_dh); -+ OPENSSL_PKEY_GET_BN(z_dh, p); -+ OPENSSL_PKEY_GET_BN(z_dh, g); -+ OPENSSL_PKEY_GET_BN(z_dh, priv_key); -+ OPENSSL_PKEY_GET_BN(z_dh, pub_key); -+ add_assoc_zval(return_value, "dh", z_dh); -+ } - } - - break; - #ifdef HAVE_EVP_PKEY_EC - case EVP_PKEY_EC: - ktype = OPENSSL_KEYTYPE_EC; -- if (pkey->pkey.ec != NULL) { -+ if (EVP_PKEY_get0_EC_KEY(pkey) != NULL) { - zval *ec; - const EC_GROUP *ec_group; - int nid; -@@ -4546,13 +4842,13 @@ PHP_FUNCTION(openssl_private_encrypt) - cryptedlen = EVP_PKEY_size(pkey); - cryptedbuf = emalloc(cryptedlen + 1); - -- switch (pkey->type) { -+ switch (EVP_PKEY_id(pkey)) { - case EVP_PKEY_RSA: - case EVP_PKEY_RSA2: - successful = (RSA_private_encrypt(data_len, - (unsigned char *)data, - cryptedbuf, -- pkey->pkey.rsa, -+ EVP_PKEY_get0_RSA(pkey), - padding) == cryptedlen); - break; - default: -@@ -4604,13 +4900,13 @@ PHP_FUNCTION(openssl_private_decrypt) - cryptedlen = EVP_PKEY_size(pkey); - crypttemp = emalloc(cryptedlen + 1); - -- switch (pkey->type) { -+ switch (EVP_PKEY_id(pkey)) { - case EVP_PKEY_RSA: - case EVP_PKEY_RSA2: - cryptedlen = RSA_private_decrypt(data_len, - (unsigned char *)data, - crypttemp, -- pkey->pkey.rsa, -+ EVP_PKEY_get0_RSA(pkey), - padding); - if (cryptedlen != -1) { - cryptedbuf = emalloc(cryptedlen + 1); -@@ -4669,13 +4965,13 @@ PHP_FUNCTION(openssl_public_encrypt) - cryptedlen = EVP_PKEY_size(pkey); - cryptedbuf = emalloc(cryptedlen + 1); - -- switch (pkey->type) { -+ switch (EVP_PKEY_id(pkey)) { - case EVP_PKEY_RSA: - case EVP_PKEY_RSA2: - successful = (RSA_public_encrypt(data_len, - (unsigned char *)data, - cryptedbuf, -- pkey->pkey.rsa, -+ EVP_PKEY_get0_RSA(pkey), - padding) == cryptedlen); - break; - default: -@@ -4728,13 +5024,13 @@ PHP_FUNCTION(openssl_public_decrypt) - cryptedlen = EVP_PKEY_size(pkey); - crypttemp = emalloc(cryptedlen + 1); - -- switch (pkey->type) { -+ switch (EVP_PKEY_id(pkey)) { - case EVP_PKEY_RSA: - case EVP_PKEY_RSA2: - cryptedlen = RSA_public_decrypt(data_len, - (unsigned char *)data, - crypttemp, -- pkey->pkey.rsa, -+ EVP_PKEY_get0_RSA(pkey), - padding); - if (cryptedlen != -1) { - cryptedbuf = emalloc(cryptedlen + 1); -@@ -4798,7 +5094,7 @@ PHP_FUNCTION(openssl_sign) - long keyresource = -1; - char * data; - int data_len; -- EVP_MD_CTX md_ctx; -+ EVP_MD_CTX *md_ctx; - zval *method = NULL; - long signature_algo = OPENSSL_ALGO_SHA1; - const EVP_MD *mdtype; -@@ -4831,9 +5127,10 @@ PHP_FUNCTION(openssl_sign) - siglen = EVP_PKEY_size(pkey); - sigbuf = emalloc(siglen + 1); - -- EVP_SignInit(&md_ctx, mdtype); -- EVP_SignUpdate(&md_ctx, data, data_len); -- if (EVP_SignFinal (&md_ctx, sigbuf,(unsigned int *)&siglen, pkey)) { -+ md_ctx = EVP_MD_CTX_create(); -+ EVP_SignInit(md_ctx, mdtype); -+ EVP_SignUpdate(md_ctx, data, data_len); -+ if (EVP_SignFinal (md_ctx, sigbuf,(unsigned int *)&siglen, pkey)) { - zval_dtor(signature); - sigbuf[siglen] = '\0'; - ZVAL_STRINGL(signature, (char *)sigbuf, siglen, 0); -@@ -4842,7 +5139,7 @@ PHP_FUNCTION(openssl_sign) - efree(sigbuf); - RETVAL_FALSE; - } -- EVP_MD_CTX_cleanup(&md_ctx); -+ EVP_MD_CTX_destroy(md_ctx); - if (keyresource == -1) { - EVP_PKEY_free(pkey); - } -@@ -4856,7 +5153,7 @@ PHP_FUNCTION(openssl_verify) - zval **key; - EVP_PKEY *pkey; - int err; -- EVP_MD_CTX md_ctx; -+ EVP_MD_CTX *md_ctx; - const EVP_MD *mdtype; - long keyresource = -1; - char * data; int data_len; -@@ -4890,10 +5187,11 @@ PHP_FUNCTION(openssl_verify) - RETURN_FALSE; - } - -- EVP_VerifyInit (&md_ctx, mdtype); -- EVP_VerifyUpdate (&md_ctx, data, data_len); -- err = EVP_VerifyFinal (&md_ctx, (unsigned char *)signature, signature_len, pkey); -- EVP_MD_CTX_cleanup(&md_ctx); -+ md_ctx = EVP_MD_CTX_create(); -+ EVP_VerifyInit (md_ctx, mdtype); -+ EVP_VerifyUpdate (md_ctx, data, data_len); -+ err = EVP_VerifyFinal (md_ctx, (unsigned char *)signature, signature_len, pkey); -+ EVP_MD_CTX_destroy(md_ctx); - - if (keyresource == -1) { - EVP_PKEY_free(pkey); -@@ -4917,7 +5215,7 @@ PHP_FUNCTION(openssl_seal) - char *method =NULL; - int method_len = 0; - const EVP_CIPHER *cipher; -- EVP_CIPHER_CTX ctx; -+ EVP_CIPHER_CTX *ctx; - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "szza/|s", &data, &data_len, &sealdata, &ekeys, &pubkeys, &method, &method_len) == FAILURE) { - return; -@@ -4950,6 +5248,7 @@ PHP_FUNCTION(openssl_seal) - memset(eks, 0, sizeof(*eks) * nkeys); - key_resources = safe_emalloc(nkeys, sizeof(long), 0); - memset(key_resources, 0, sizeof(*key_resources) * nkeys); -+ memset(pkeys, 0, sizeof(*pkeys) * nkeys); - - /* get the public keys we are using to seal this data */ - zend_hash_internal_pointer_reset_ex(pubkeysht, &pos); -@@ -4967,27 +5266,28 @@ PHP_FUNCTION(openssl_seal) - i++; - } - -- if (!EVP_EncryptInit(&ctx,cipher,NULL,NULL)) { -+ ctx = EVP_CIPHER_CTX_new(); -+ if (ctx == NULL || !EVP_EncryptInit(ctx,cipher,NULL,NULL)) { - RETVAL_FALSE; -- EVP_CIPHER_CTX_cleanup(&ctx); -+ EVP_CIPHER_CTX_free(ctx); - goto clean_exit; - } - - #if 0 - /* Need this if allow ciphers that require initialization vector */ -- ivlen = EVP_CIPHER_CTX_iv_length(&ctx); -+ ivlen = EVP_CIPHER_CTX_iv_length(ctx); - iv = ivlen ? emalloc(ivlen + 1) : NULL; - #endif - /* allocate one byte extra to make room for \0 */ -- buf = emalloc(data_len + EVP_CIPHER_CTX_block_size(&ctx)); -- EVP_CIPHER_CTX_cleanup(&ctx); -+ buf = emalloc(data_len + EVP_CIPHER_CTX_block_size(ctx)); -+ EVP_CIPHER_CTX_cleanup(ctx); - -- if (EVP_SealInit(&ctx, cipher, eks, eksl, NULL, pkeys, nkeys) <= 0 || -- !EVP_SealUpdate(&ctx, buf, &len1, (unsigned char *)data, data_len) || -- !EVP_SealFinal(&ctx, buf + len1, &len2)) { -+ if (EVP_SealInit(ctx, cipher, eks, eksl, NULL, pkeys, nkeys) <= 0 || -+ !EVP_SealUpdate(ctx, buf, &len1, (unsigned char *)data, data_len) || -+ !EVP_SealFinal(ctx, buf + len1, &len2)) { - RETVAL_FALSE; - efree(buf); -- EVP_CIPHER_CTX_cleanup(&ctx); -+ EVP_CIPHER_CTX_free(ctx); - goto clean_exit; - } - -@@ -5018,7 +5318,7 @@ PHP_FUNCTION(openssl_seal) - efree(buf); - } - RETVAL_LONG(len1 + len2); -- EVP_CIPHER_CTX_cleanup(&ctx); -+ EVP_CIPHER_CTX_free(ctx); - - clean_exit: - for (i=0; i<nkeys; i++) { -@@ -5045,7 +5345,7 @@ PHP_FUNCTION(openssl_open) - int len1, len2; - unsigned char *buf; - long keyresource = -1; -- EVP_CIPHER_CTX ctx; -+ EVP_CIPHER_CTX *ctx; - char * data; int data_len; - char * ekey; int ekey_len; - char *method =NULL; -@@ -5074,8 +5374,9 @@ PHP_FUNCTION(openssl_open) - - buf = emalloc(data_len + 1); - -- if (EVP_OpenInit(&ctx, cipher, (unsigned char *)ekey, ekey_len, NULL, pkey) && EVP_OpenUpdate(&ctx, buf, &len1, (unsigned char *)data, data_len)) { -- if (!EVP_OpenFinal(&ctx, buf + len1, &len2) || (len1 + len2 == 0)) { -+ ctx = EVP_CIPHER_CTX_new(); -+ if (EVP_OpenInit(ctx, cipher, (unsigned char *)ekey, ekey_len, NULL, pkey) && EVP_OpenUpdate(ctx, buf, &len1, (unsigned char *)data, data_len)) { -+ if (!EVP_OpenFinal(ctx, buf + len1, &len2) || (len1 + len2 == 0)) { - efree(buf); - RETVAL_FALSE; - } else { -@@ -5091,7 +5392,7 @@ PHP_FUNCTION(openssl_open) - if (keyresource == -1) { - EVP_PKEY_free(pkey); - } -- EVP_CIPHER_CTX_cleanup(&ctx); -+ EVP_CIPHER_CTX_free(ctx); - } - /* }}} */ - -@@ -5151,7 +5452,7 @@ PHP_FUNCTION(openssl_digest) - char *data, *method; - int data_len, method_len; - const EVP_MD *mdtype; -- EVP_MD_CTX md_ctx; -+ EVP_MD_CTX *md_ctx; - int siglen; - unsigned char *sigbuf; - -@@ -5167,9 +5468,10 @@ PHP_FUNCTION(openssl_digest) - siglen = EVP_MD_size(mdtype); - sigbuf = emalloc(siglen + 1); - -- EVP_DigestInit(&md_ctx, mdtype); -- EVP_DigestUpdate(&md_ctx, (unsigned char *)data, data_len); -- if (EVP_DigestFinal (&md_ctx, (unsigned char *)sigbuf, (unsigned int *)&siglen)) { -+ md_ctx = EVP_MD_CTX_create(); -+ EVP_DigestInit(md_ctx, mdtype); -+ EVP_DigestUpdate(md_ctx, (unsigned char *)data, data_len); -+ if (EVP_DigestFinal (md_ctx, (unsigned char *)sigbuf, (unsigned int *)&siglen)) { - if (raw_output) { - sigbuf[siglen] = '\0'; - RETVAL_STRINGL((char *)sigbuf, siglen, 0); -@@ -5185,6 +5487,8 @@ PHP_FUNCTION(openssl_digest) - efree(sigbuf); - RETVAL_FALSE; - } -+ -+ EVP_MD_CTX_destroy(md_ctx); - } - /* }}} */ - -@@ -5230,7 +5534,7 @@ PHP_FUNCTION(openssl_encrypt) - char *data, *method, *password, *iv = ""; - int data_len, method_len, password_len, iv_len = 0, max_iv_len; - const EVP_CIPHER *cipher_type; -- EVP_CIPHER_CTX cipher_ctx; -+ EVP_CIPHER_CTX *cipher_ctx; - int i=0, outlen, keylen; - unsigned char *outbuf, *key; - zend_bool free_iv; -@@ -5262,19 +5566,24 @@ PHP_FUNCTION(openssl_encrypt) - outlen = data_len + EVP_CIPHER_block_size(cipher_type); - outbuf = safe_emalloc(outlen, 1, 1); - -- EVP_EncryptInit(&cipher_ctx, cipher_type, NULL, NULL); -+ cipher_ctx = EVP_CIPHER_CTX_new(); -+ if (!cipher_ctx) { -+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Failed to create cipher context"); -+ RETURN_FALSE; -+ } -+ EVP_EncryptInit(cipher_ctx, cipher_type, NULL, NULL); - if (password_len > keylen) { -- EVP_CIPHER_CTX_set_key_length(&cipher_ctx, password_len); -+ EVP_CIPHER_CTX_set_key_length(cipher_ctx, password_len); - } -- EVP_EncryptInit_ex(&cipher_ctx, NULL, NULL, key, (unsigned char *)iv); -+ EVP_EncryptInit_ex(cipher_ctx, NULL, NULL, key, (unsigned char *)iv); - if (options & OPENSSL_ZERO_PADDING) { -- EVP_CIPHER_CTX_set_padding(&cipher_ctx, 0); -+ EVP_CIPHER_CTX_set_padding(cipher_ctx, 0); - } - if (data_len > 0) { -- EVP_EncryptUpdate(&cipher_ctx, outbuf, &i, (unsigned char *)data, data_len); -+ EVP_EncryptUpdate(cipher_ctx, outbuf, &i, (unsigned char *)data, data_len); - } - outlen = i; -- if (EVP_EncryptFinal(&cipher_ctx, (unsigned char *)outbuf + i, &i)) { -+ if (EVP_EncryptFinal(cipher_ctx, (unsigned char *)outbuf + i, &i)) { - outlen += i; - if (options & OPENSSL_RAW_DATA) { - outbuf[outlen] = '\0'; -@@ -5301,7 +5610,8 @@ PHP_FUNCTION(openssl_encrypt) - if (free_iv) { - efree(iv); - } -- EVP_CIPHER_CTX_cleanup(&cipher_ctx); -+ EVP_CIPHER_CTX_cleanup(cipher_ctx); -+ EVP_CIPHER_CTX_free(cipher_ctx); - } - /* }}} */ - -@@ -5313,7 +5623,7 @@ PHP_FUNCTION(openssl_decrypt) - char *data, *method, *password, *iv = ""; - int data_len, method_len, password_len, iv_len = 0; - const EVP_CIPHER *cipher_type; -- EVP_CIPHER_CTX cipher_ctx; -+ EVP_CIPHER_CTX *cipher_ctx; - int i, outlen, keylen; - unsigned char *outbuf, *key; - int base64_str_len; -@@ -5359,17 +5669,23 @@ PHP_FUNCTION(openssl_decrypt) - outlen = data_len + EVP_CIPHER_block_size(cipher_type); - outbuf = emalloc(outlen + 1); - -- EVP_DecryptInit(&cipher_ctx, cipher_type, NULL, NULL); -+ cipher_ctx = EVP_CIPHER_CTX_new(); -+ if (!cipher_ctx) { -+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Failed to create cipher context"); -+ RETURN_FALSE; -+ } -+ -+ EVP_DecryptInit(cipher_ctx, cipher_type, NULL, NULL); - if (password_len > keylen) { -- EVP_CIPHER_CTX_set_key_length(&cipher_ctx, password_len); -+ EVP_CIPHER_CTX_set_key_length(cipher_ctx, password_len); - } -- EVP_DecryptInit_ex(&cipher_ctx, NULL, NULL, key, (unsigned char *)iv); -+ EVP_DecryptInit_ex(cipher_ctx, NULL, NULL, key, (unsigned char *)iv); - if (options & OPENSSL_ZERO_PADDING) { -- EVP_CIPHER_CTX_set_padding(&cipher_ctx, 0); -+ EVP_CIPHER_CTX_set_padding(cipher_ctx, 0); - } -- EVP_DecryptUpdate(&cipher_ctx, outbuf, &i, (unsigned char *)data, data_len); -+ EVP_DecryptUpdate(cipher_ctx, outbuf, &i, (unsigned char *)data, data_len); - outlen = i; -- if (EVP_DecryptFinal(&cipher_ctx, (unsigned char *)outbuf + i, &i)) { -+ if (EVP_DecryptFinal(cipher_ctx, (unsigned char *)outbuf + i, &i)) { - outlen += i; - outbuf[outlen] = '\0'; - RETVAL_STRINGL((char *)outbuf, outlen, 0); -@@ -5386,7 +5702,8 @@ PHP_FUNCTION(openssl_decrypt) - if (base64_str) { - efree(base64_str); - } -- EVP_CIPHER_CTX_cleanup(&cipher_ctx); -+ EVP_CIPHER_CTX_cleanup(cipher_ctx); -+ EVP_CIPHER_CTX_free(cipher_ctx); - } - /* }}} */ - -@@ -5424,6 +5741,7 @@ PHP_FUNCTION(openssl_dh_compute_key) - zval *key; - char *pub_str; - int pub_len; -+ DH *dh; - EVP_PKEY *pkey; - BIGNUM *pub; - char *data; -@@ -5433,14 +5751,21 @@ PHP_FUNCTION(openssl_dh_compute_key) - return; - } - ZEND_FETCH_RESOURCE(pkey, EVP_PKEY *, &key, -1, "OpenSSL key", le_key); -- if (!pkey || EVP_PKEY_type(pkey->type) != EVP_PKEY_DH || !pkey->pkey.dh) { -+ if (pkey == NULL) { -+ RETURN_FALSE; -+ } -+ if (EVP_PKEY_base_id(pkey) != EVP_PKEY_DH) { -+ RETURN_FALSE; -+ } -+ dh = EVP_PKEY_get0_DH(pkey); -+ if (dh == NULL) { - RETURN_FALSE; - } - - pub = BN_bin2bn((unsigned char*)pub_str, pub_len, NULL); - -- data = emalloc(DH_size(pkey->pkey.dh) + 1); -- len = DH_compute_key((unsigned char*)data, pub, pkey->pkey.dh); -+ data = emalloc(DH_size(dh) + 1); -+ len = DH_compute_key((unsigned char*)data, pub, dh); - - if (len >= 0) { - data[len] = 0; -diff --git a/ext/openssl/xp_ssl.c b/ext/openssl/xp_ssl.c -index d549033..c2d477c 100644 ---- a/ext/openssl/xp_ssl.c -+++ b/ext/openssl/xp_ssl.c -@@ -935,7 +935,7 @@ static int set_local_cert(SSL_CTX *ctx, php_stream *stream TSRMLS_DC) /* {{{ */ - static const SSL_METHOD *php_select_crypto_method(long method_value, int is_client TSRMLS_DC) /* {{{ */ - { - if (method_value == STREAM_CRYPTO_METHOD_SSLv2) { --#ifndef OPENSSL_NO_SSL2 -+#if !defined(OPENSSL_NO_SSL2) && OPENSSL_VERSION_NUMBER < 0x10100000L - return is_client ? SSLv2_client_method() : SSLv2_server_method(); - #else - php_error_docref(NULL TSRMLS_CC, E_WARNING, -@@ -1588,12 +1588,26 @@ int php_openssl_setup_crypto(php_stream *stream, - } - /* }}} */ - -+#define PHP_SSL_MAX_VERSION_LEN 32 -+ -+static char *php_ssl_cipher_get_version(const SSL_CIPHER *c, char *buffer, size_t max_len) /* {{{ */ -+{ -+ const char *version = SSL_CIPHER_get_version(c); -+ strncpy(buffer, version, max_len); -+ if (max_len <= strlen(version)) { -+ buffer[max_len - 1] = 0; -+ } -+ return buffer; -+} -+/* }}} */ -+ - static zval *capture_session_meta(SSL *ssl_handle) /* {{{ */ - { - zval *meta_arr; - char *proto_str; - long proto = SSL_version(ssl_handle); - const SSL_CIPHER *cipher = SSL_get_current_cipher(ssl_handle); -+ char version_str[PHP_SSL_MAX_VERSION_LEN]; - - switch (proto) { - #if OPENSSL_VERSION_NUMBER >= 0x10001001L -@@ -1611,7 +1625,7 @@ static zval *capture_session_meta(SSL *ssl_handle) /* {{{ */ - add_assoc_string(meta_arr, "protocol", proto_str, 1); - add_assoc_string(meta_arr, "cipher_name", (char *) SSL_CIPHER_get_name(cipher), 1); - add_assoc_long(meta_arr, "cipher_bits", SSL_CIPHER_get_bits(cipher, NULL)); -- add_assoc_string(meta_arr, "cipher_version", SSL_CIPHER_get_version(cipher), 1); -+ add_assoc_string(meta_arr, "cipher_version", php_ssl_cipher_get_version(cipher, version_str, PHP_SSL_MAX_VERSION_LEN), 1); - - return meta_arr; - } -diff --git a/ext/phar/util.c b/ext/phar/util.c -index 828be8f..06e4e55 100644 ---- a/ext/phar/util.c -+++ b/ext/phar/util.c -@@ -1531,7 +1531,7 @@ int phar_verify_signature(php_stream *fp, size_t end_of_phar, php_uint32 sig_typ - BIO *in; - EVP_PKEY *key; - EVP_MD *mdtype = (EVP_MD *) EVP_sha1(); -- EVP_MD_CTX md_ctx; -+ EVP_MD_CTX *md_ctx; - #else - int tempsig; - #endif -@@ -1608,7 +1608,8 @@ int phar_verify_signature(php_stream *fp, size_t end_of_phar, php_uint32 sig_typ - return FAILURE; - } - -- EVP_VerifyInit(&md_ctx, mdtype); -+ md_ctx = EVP_MD_CTX_create(); -+ EVP_VerifyInit(md_ctx, mdtype); - read_len = end_of_phar; - - if (read_len > sizeof(buf)) { -@@ -1620,7 +1621,7 @@ int phar_verify_signature(php_stream *fp, size_t end_of_phar, php_uint32 sig_typ - php_stream_seek(fp, 0, SEEK_SET); - - while (read_size && (len = php_stream_read(fp, (char*)buf, read_size)) > 0) { -- EVP_VerifyUpdate (&md_ctx, buf, len); -+ EVP_VerifyUpdate (md_ctx, buf, len); - read_len -= (off_t)len; - - if (read_len < read_size) { -@@ -1628,9 +1629,9 @@ int phar_verify_signature(php_stream *fp, size_t end_of_phar, php_uint32 sig_typ - } - } - -- if (EVP_VerifyFinal(&md_ctx, (unsigned char *)sig, sig_len, key) != 1) { -+ if (EVP_VerifyFinal(md_ctx, (unsigned char *)sig, sig_len, key) != 1) { - /* 1: signature verified, 0: signature does not match, -1: failed signature operation */ -- EVP_MD_CTX_cleanup(&md_ctx); -+ EVP_MD_CTX_destroy(md_ctx); - - if (error) { - spprintf(error, 0, "broken openssl signature"); -@@ -1639,7 +1640,7 @@ int phar_verify_signature(php_stream *fp, size_t end_of_phar, php_uint32 sig_typ - return FAILURE; - } - -- EVP_MD_CTX_cleanup(&md_ctx); -+ EVP_MD_CTX_destroy(md_ctx); - #endif - - *signature_len = phar_hex_str((const char*)sig, sig_len, signature TSRMLS_CC); --- -2.7.4 - diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude-use-pkgconfig-for-libxml2-config.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude-use-pkgconfig-for-libxml2-config.patch deleted file mode 100644 index e7d326d7..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude-use-pkgconfig-for-libxml2-config.patch +++ /dev/null @@ -1,90 +0,0 @@ -From 003c9feaae6ed5c173edcea51193e49bc94ac39a Mon Sep 17 00:00:00 2001 -From: Koen Kooi <koen.kooi@linaro.org> -Date: Tue, 17 Jun 2014 09:53:00 +0200 -Subject: [PATCH 3/8] acinclude: use pkgconfig for libxml2 config - -Signed-off-by: Koen Kooi <koen.kooi@linaro.org> -Upstream-Status: Pending ---- - acinclude.m4 | 63 ++++++++++++++++++++++-------------------------------------- - 1 file changed, 23 insertions(+), 40 deletions(-) - -diff --git a/acinclude.m4 b/acinclude.m4 -index 206fcbf..a6c0d84 100644 ---- a/acinclude.m4 -+++ b/acinclude.m4 -@@ -2530,48 +2530,31 @@ dnl - dnl Common setup macro for libxml - dnl - AC_DEFUN([PHP_SETUP_LIBXML], [ --AC_CACHE_CHECK([for xml2-config path], ac_cv_php_xml2_config_path, --[ -- -- ac_cv_php_xml2_config_path="$PHP_LIBXML_DIR/xml2-config" -- -+PKG_CHECK_MODULES([LIBXML], [libxml-2.0 > 2.6.11], [ -+ PHP_EVAL_LIBLINE($LIBXML_LIBS, $1) -+ PHP_EVAL_INCLINE($LIBXML_CFLAGS) -+ -+ dnl Check that build works with given libs -+ AC_CACHE_CHECK(whether libxml build works, php_cv_libxml_build_works, [ -+ PHP_TEST_BUILD(xmlInitParser, -+ [ -+ php_cv_libxml_build_works=yes -+ AC_MSG_RESULT(yes) -+ ], [ -+ AC_MSG_RESULT(no) -+ AC_MSG_ERROR([build test failed. Please check the config.log for details.]) -+ ], [ -+ [$]$1 -+ ]) -+ ]) -+ if test "$php_cv_libxml_build_works" = "yes"; then -+ AC_DEFINE(HAVE_LIBXML, 1, [ ]) -+ fi -+ $2 -+], [ -+ AC_MSG_ERROR([$LIBXML_PKG_ERRORS]) - ]) - -- 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 -- LIBXML_LIBS=`$XML2_CONFIG --libs` -- LIBXML_INCS=`$XML2_CONFIG --cflags` -- PHP_EVAL_LIBLINE($LIBXML_LIBS, $1) -- PHP_EVAL_INCLINE($LIBXML_INCS) -- -- dnl Check that build works with given libs -- AC_CACHE_CHECK(whether libxml build works, php_cv_libxml_build_works, [ -- PHP_TEST_BUILD(xmlInitParser, -- [ -- php_cv_libxml_build_works=yes -- ], [ -- AC_MSG_RESULT(no) -- AC_MSG_ERROR([build test failed. Please check the config.log for details.]) -- ], [ -- [$]$1 -- ]) -- ]) -- if test "$php_cv_libxml_build_works" = "yes"; then -- AC_DEFINE(HAVE_LIBXML, 1, [ ]) -- fi -- $2 -- else -- AC_MSG_ERROR([libxml2 version 2.6.11 or greater required.]) -- fi --ifelse([$3],[],,[else $3]) -- fi - ]) - - dnl ------------------------------------------------------------------------- --- -1.9.3 - diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude.m4-don-t-unset-cache-variables.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude.m4-don-t-unset-cache-variables.patch deleted file mode 100644 index a250cac8..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude.m4-don-t-unset-cache-variables.patch +++ /dev/null @@ -1,39 +0,0 @@ -From dfebe81f946a83fe2499fc84d4f3dbdc5612276c Mon Sep 17 00:00:00 2001 -From: Anuj Mittal <anuj.mittal@intel.com> -Date: Tue, 3 Apr 2018 11:35:03 +0800 -Subject: [PATCH] acinclude.m4: don't unset cache variables - -Unsetting prevents cache variable from being passed to configure. - -Upstream-Status: Inappropriate [OE-specific] - -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> ---- - acinclude.m4 | 4 ---- - 1 file changed, 4 deletions(-) - -diff --git a/acinclude.m4 b/acinclude.m4 -index f6a55ec..d3346df 100644 ---- a/acinclude.m4 -+++ b/acinclude.m4 -@@ -1890,8 +1890,6 @@ define([phpshift],[ifelse(index([$@],[,]),-1,,[substr([$@],incr(index([$@],[,])) - dnl - AC_DEFUN([PHP_CHECK_FUNC_LIB],[ - ifelse($2,,:,[ -- unset ac_cv_lib_$2[]_$1 -- unset ac_cv_lib_$2[]___$1 - unset found - AC_CHECK_LIB($2, $1, [found=yes], [ - AC_CHECK_LIB($2, __$1, [found=yes], [found=no]) -@@ -1923,8 +1921,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. - dnl - AC_DEFUN([PHP_CHECK_FUNC],[ -- unset ac_cv_func_$1 -- unset ac_cv_func___$1 - unset found - - AC_CHECK_FUNC($1, [found=yes],[ AC_CHECK_FUNC(__$1,[found=yes],[found=no]) ]) --- -2.7.4 - diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude.m4-skip-binconfig-check-for-libxml.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude.m4-skip-binconfig-check-for-libxml.patch deleted file mode 100644 index 15329261..00000000 --- a/external/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/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-configure.ac-don-t-include-build-libtool.m4.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-configure.ac-don-t-include-build-libtool.m4.patch new file mode 100644 index 00000000..2861366a --- /dev/null +++ b/external/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/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-fix-error-caused-by-a-new-variable-is-declared-after.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-fix-error-caused-by-a-new-variable-is-declared-after.patch deleted file mode 100644 index 6ab101b4..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-fix-error-caused-by-a-new-variable-is-declared-after.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 0d88d735887c6f2fa00a743c27124c7a52006a41 Mon Sep 17 00:00:00 2001 -From: Hongxu Jia <hongxu.jia@windriver.com> -Date: Sun, 15 Apr 2018 19:17:27 -0700 -Subject: [PATCH] fix error caused by a new variable is declared after the - label - -There is a build failure on mips: -... -|sljitNativeMIPS_common.c: In function 'sljit_has_cpu_feature': -|sljitNativeMIPS_common.c:506:3: error: a label can only be part -of a statement and a declaration is not a statement -| sljit_sw fir; -| ^~~~~~~~ -... - -Upstream-Status: Pending - -Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> ---- - ext/pcre/pcrelib/sljit/sljitNativeMIPS_common.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/ext/pcre/pcrelib/sljit/sljitNativeMIPS_common.c b/ext/pcre/pcrelib/sljit/sljitNativeMIPS_common.c -index ee207fe..adfd342 100644 ---- a/ext/pcre/pcrelib/sljit/sljitNativeMIPS_common.c -+++ b/ext/pcre/pcrelib/sljit/sljitNativeMIPS_common.c -@@ -498,12 +498,14 @@ SLJIT_API_FUNC_ATTRIBUTE void* sljit_generate_code(struct sljit_compiler *compil - - SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_has_cpu_feature(sljit_s32 feature_type) - { -+#if defined(__GNUC__) -+ sljit_sw fir; -+#endif - switch (feature_type) { - case SLJIT_HAS_FPU: - #ifdef SLJIT_IS_FPU_AVAILABLE - return SLJIT_IS_FPU_AVAILABLE; - #elif defined(__GNUC__) -- sljit_sw fir; - asm ("cfc1 %0, $0" : "=r"(fir)); - return (fir >> 22) & 0x1; - #else --- -2.10.2 - diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-main-php_ini.c-build-empty-php_load_zend_extension_c.patch b/external/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 fce9738f..00000000 --- a/external/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/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-opcache-config.m4-enable-opcache.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-opcache-config.m4-enable-opcache.patch index 0d24d34f..1f3e683a 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-opcache-config.m4-enable-opcache.patch +++ b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-opcache-config.m4-enable-opcache.patch @@ -1,51 +1,55 @@ -From b2fb725dc404d471371731b663234e87cb0fca84 Mon Sep 17 00:00:00 2001 -From: Anuj Mittal <anuj.mittal@intel.com> -Date: Mon, 2 Apr 2018 17:54:52 +0800 +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.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 | 349 ++------------------------------------------------ - 1 file changed, 8 insertions(+), 341 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 7b500f0..10bb99a 100644 +index 6c40cafc1c..6569aa9e1c 100644 --- a/ext/opcache/config.m4 +++ b/ext/opcache/config.m4 -@@ -28,353 +28,20 @@ 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_TRY_RUN([ + AC_MSG_CHECKING(for sysvipc shared memory support) +- AC_RUN_IFELSE([AC_LANG_SOURCE([[ -#include <sys/types.h> -#include <sys/wait.h> -#include <sys/ipc.h> -#include <sys/shm.h> -#include <unistd.h> -#include <string.h> -+ AC_DEFINE(HAVE_SHM_IPC, 1, [Define if you have SysV IPC SHM support]) - +- -int main() { - pid_t pid; - int status; - int ipc_id; - char *shm; - struct shmid_ds shmbuf; -+ AC_DEFINE(HAVE_SHM_MMAP_ANON, 1, [Define if you have mmap(MAP_ANON) SHM support]) - +- - ipc_id = shmget(IPC_PRIVATE, 4096, (IPC_CREAT | SHM_R | SHM_W)); - if (ipc_id == -1) { - return 1; - } -+ AC_DEFINE(HAVE_SHM_MMAP_ZERO, 1, [Define if you have mmap("/dev/zero") SHM support]) - +- - shm = shmat(ipc_id, NULL, 0); - if (shm == (void *)-1) { - shmctl(ipc_id, IPC_RMID, NULL); @@ -90,13 +94,14 @@ index 7b500f0..10bb99a 100644 - } - return 0; -} --],dnl +-]])],[dnl - AC_DEFINE(HAVE_SHM_IPC, 1, [Define if you have SysV IPC SHM support]) -- msg=yes,msg=no,msg=no) +- msg=yes],[msg=no],[msg=no]) - AC_MSG_RESULT([$msg]) -- -- AC_MSG_CHECKING(for mmap() using MAP_ANON shared memory support) -- AC_TRY_RUN([ ++ 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> -#include <sys/wait.h> -#include <sys/mman.h> @@ -111,7 +116,8 @@ index 7b500f0..10bb99a 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; @@ -142,68 +148,14 @@ index 7b500f0..10bb99a 100644 - } - return 0; -} --],dnl +-]])],[dnl - 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_MSG_CHECKING(for mmap() using /dev/zero shared memory support) -- AC_TRY_RUN([ --#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) +- msg=yes],[msg=no],[msg=no]) - AC_MSG_RESULT([$msg]) - -- AC_MSG_CHECKING(for mmap() using shm_open() shared memory support) -- AC_TRY_RUN([ +- 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> -#include <sys/wait.h> -#include <sys/mman.h> @@ -225,7 +177,7 @@ index 7b500f0..10bb99a 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; - } @@ -266,120 +218,20 @@ index 7b500f0..10bb99a 100644 - } - return 0; -} --],dnl +-]])],[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]) ++ PHP_CHECK_LIBRARY(rt, shm_unlink, [PHP_ADD_LIBRARY(rt,1,OPCACHE_SHARED_LIBADD)]) - AC_MSG_CHECKING(for mmap() using regular file shared memory support) -- AC_TRY_RUN([ --#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]) -- --flock_type=unknown --AC_MSG_CHECKING("whether flock struct is linux ordered") --AC_TRY_RUN([ -- #include <fcntl.h> -- struct flock lock = { 1, 2, 3, 4, 5 }; -- int main() { -- if(lock.l_type == 1 && lock.l_whence == 2 && lock.l_start == 3 && lock.l_len == 4) { -- return 0; -- } -- return 1; -- } --], [ -- flock_type=linux -- AC_DEFINE([HAVE_FLOCK_LINUX], [], [Struct flock is Linux-type]) -- AC_MSG_RESULT("yes") --], AC_MSG_RESULT("no") ) -+ -+ AC_DEFINE(HAVE_SHM_MMAP_FILE, 1, [Define if you have mmap() SHM support]) - --AC_MSG_CHECKING("whether flock struct is BSD ordered") --AC_TRY_RUN([ -- #include <fcntl.h> -- struct flock lock = { 1, 2, 3, 4, 5 }; -- int main() { -- if(lock.l_start == 1 && lock.l_len == 2 && lock.l_type == 4 && lock.l_whence == 5) { -- return 0; -- } -- return 1; -- } --], [ -- flock_type=bsd -- AC_DEFINE([HAVE_FLOCK_BSD], [], [Struct flock is BSD-type]) -- AC_MSG_RESULT("yes") --], AC_MSG_RESULT("no") ) -+ flock_type=linux -+ AC_DEFINE([HAVE_FLOCK_LINUX], [], [Struct flock is Linux-type]) - - if test "$flock_type" = "unknown"; then - AC_MSG_ERROR([Don't know how to define struct flock on this system[,] set --enable-opcache=no]) + PHP_NEW_EXTENSION(opcache, + ZendAccelerator.c \ -- -2.7.4 +2.17.1 diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-php-don-t-use-broken-wrapper-for-mkdir.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-php-don-t-use-broken-wrapper-for-mkdir.patch index 2f7d5815..d6873736 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-php-don-t-use-broken-wrapper-for-mkdir.patch +++ b/external/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/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-php.m4-don-t-unset-cache-variables.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-php.m4-don-t-unset-cache-variables.patch new file mode 100644 index 00000000..0d721ec5 --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-php.m4-don-t-unset-cache-variables.patch @@ -0,0 +1,39 @@ +php.m4: don't unset cache variables + +Unsetting prevents cache variable from being passed to configure. + +Upstream-Status: Inappropriate [OE-specific] + +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> + +update this patch to 7.4.4, acinclude.m4 move to build/php.m4 +Signed-off-by: Changqing Li <changqing.li@windriver.com> +--- + build/php.m4 | 4 ---- + 1 file changed, 4 deletions(-) + +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,,:,[ +- unset ac_cv_lib_$2[]_$1 +- unset ac_cv_lib_$2[]___$1 + unset found + AC_CHECK_LIB($2, $1, [found=yes], [ + AC_CHECK_LIB($2, __$1, [found=yes], [found=no]) +@@ -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 +- unset ac_cv_func___$1 + unset found + + AC_CHECK_FUNC($1, [found=yes],[ AC_CHECK_FUNC(__$1,[found=yes],[found=no]) ]) +-- +2.7.4 + diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/70_mod_php5.conf b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/70_mod_php5.conf deleted file mode 100644 index 1de6fb11..00000000 --- a/external/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/external/meta-openembedded/meta-oe/recipes-devtools/php/php/CVE-2017-9120.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/CVE-2017-9120.patch deleted file mode 100644 index 728f25bb..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/CVE-2017-9120.patch +++ /dev/null @@ -1,21 +0,0 @@ -php: patch for CVE-2017-9120 - -Upstream-Status: Backport [https://bugs.php.net/bug.php?id=74544] - -CVE: CVE-2017-9120 - -Signed-off-by: Changqing Li <changqing.li@windriver.com> - -diff --git a/ext/mysqli/mysqli_api.c b/ext/mysqli/mysqli_api.c -index 03a39d7..7b88731 100644 ---- a/ext/mysqli/mysqli_api.c -+++ b/ext/mysqli/mysqli_api.c -@@ -1965,7 +1965,7 @@ PHP_FUNCTION(mysqli_real_escape_string) { - } - MYSQLI_FETCH_RESOURCE_CONN(mysql, mysql_link, MYSQLI_STATUS_VALID); - -- newstr = zend_string_alloc(2 * escapestr_len, 0); -+ newstr = zend_string_safe_alloc(2, escapestr_len, 0, 0); - ZSTR_LEN(newstr) = mysql_real_escape_string(mysql->mysql, ZSTR_VAL(newstr), escapestr, escapestr_len); - newstr = zend_string_truncate(newstr, ZSTR_LEN(newstr), 0); - diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/acinclude-xml2-config.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/acinclude-xml2-config.patch deleted file mode 100644 index d0831669..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/acinclude-xml2-config.patch +++ /dev/null @@ -1,25 +0,0 @@ -Upstream-Status: Pending - -diff --git a/acinclude.m4 b/acinclude.m4 -index 4fd452e..206fcbf 100644 ---- a/acinclude.m4 -+++ b/acinclude.m4 -@@ -2532,12 +2532,9 @@ dnl - AC_DEFUN([PHP_SETUP_LIBXML], [ - 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 -+ -+ ac_cv_php_xml2_config_path="$PHP_LIBXML_DIR/xml2-config" -+ - ]) - - if test -x "$ac_cv_php_xml2_config_path"; then --- -1.9.3 - diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/change-AC_TRY_RUN-to-AC_TRY_LINK.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/change-AC_TRY_RUN-to-AC_TRY_LINK.patch deleted file mode 100644 index 3e901841..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/change-AC_TRY_RUN-to-AC_TRY_LINK.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 3bfcc7fdd22261eaed10949714de0a90d31e10ab Mon Sep 17 00:00:00 2001 -From: Roy Li <rongqing.li@windriver.com> -Date: Thu, 20 Aug 2015 16:29:35 +0800 -Subject: [PATCH] [PATCH] config.m4: change AC_TRY_RUN to AC_TRY_LINK - -Upstream-Status: Pending - -AC_TRY_RUN is not suitable for cross-compile - -Signed-off-by: Roy Li <rongqing.li@windriver.com> - -%% original patch: change-AC_TRY_RUN-to-AC_TRY_LINK.patch ---- - ext/fileinfo/config.m4 | 31 ++++++------------------------- - 1 file changed, 6 insertions(+), 25 deletions(-) - -diff --git a/ext/fileinfo/config.m4 b/ext/fileinfo/config.m4 -index 523b4fd..0aaa4c8 100644 ---- a/ext/fileinfo/config.m4 -+++ b/ext/fileinfo/config.m4 -@@ -14,31 +14,12 @@ if test "$PHP_FILEINFO" != "no"; then - libmagic/readcdf.c libmagic/softmagic.c libmagic/der.c" - - AC_MSG_CHECKING([for strcasestr]) -- AC_TRY_RUN([ --#include <string.h> --#include <strings.h> --#include <stdlib.h> -- --int main(void) --{ -- char *s0, *s1, *ret; -- -- s0 = (char *) malloc(42); -- s1 = (char *) malloc(8); -- -- memset(s0, 'X', 42); -- s0[24] = 'Y'; -- s0[26] = 'Z'; -- s0[41] = '\0'; -- memset(s1, 'x', 8); -- s1[0] = 'y'; -- s1[2] = 'Z'; -- s1[7] = '\0'; -- -- ret = strcasestr(s0, s1); -- -- return !(NULL != ret); --} -+ AC_TRY_COMPILE([ -+ #include <string.h> -+ #include <strings.h> -+ #include <stdlib.h> -+ ],[ -+ strcasestr(NULL, NULL); - ],[ - dnl using the platform implementation - AC_MSG_RESULT(yes) --- -2.7.4 - diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/debian-php-fixheader.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/debian-php-fixheader.patch new file mode 100755 index 00000000..21050f76 --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/debian-php-fixheader.patch @@ -0,0 +1,31 @@ +php: remove host specific info from header file + +https://sources.debian.org/data/main/p/php7.3/7.3.6-1/debian/patches/ + 0036-php-5.4.9-fixheader.patch + +Upstream-Status: Inappropriate [not author] +Signed-off-by: Joe Slater <joe.slater@windriver.com> + +--- +From: Debian PHP Maintainers <pkg-php-maint@lists.alioth.debian.org> +Date: Sat, 2 May 2015 10:26:56 +0200 +Subject: php-5.4.9-fixheader + +Make generated php_config.h constant across rebuilds. +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 433d7e6..41893d7 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1357,7 +1357,7 @@ PHP_BUILD_DATE=`date -u +%Y-%m-%d` + fi + AC_DEFINE_UNQUOTED(PHP_BUILD_DATE,"$PHP_BUILD_DATE",[PHP build date]) + +-PHP_UNAME=`uname -a | xargs` ++PHP_UNAME=`uname | xargs` + AC_DEFINE_UNQUOTED(PHP_UNAME,"$PHP_UNAME",[uname -a output]) + PHP_OS=`uname | xargs` + AC_DEFINE_UNQUOTED(PHP_OS,"$PHP_OS",[uname output]) diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/iconv.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/iconv.patch index ecf7d872..9ec8a89b 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/iconv.patch +++ b/external/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/external/meta-openembedded/meta-oe/recipes-devtools/php/php/imap-fix-autofoo.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/imap-fix-autofoo.patch index 16359af9..ebe5f6a9 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/imap-fix-autofoo.patch +++ b/external/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/external/meta-openembedded/meta-oe/recipes-devtools/php/php/phar-makefile.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/phar-makefile.patch index 336cf0d6..eb73bc44 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/phar-makefile.patch +++ b/external/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/external/meta-openembedded/meta-oe/recipes-devtools/php/php/php-fpm-apache.conf b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/php-fpm-apache.conf index 77cdd82a..f7f46d20 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/php-fpm-apache.conf +++ b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/php-fpm-apache.conf @@ -1,6 +1,6 @@ # Taken from http://wiki.apache.org/httpd/PHP-FPM -LoadModule proxy_module lib/apache2/modules/mod_proxy.so -LoadModule proxy_fcgi_module lib/apache2/modules/mod_proxy_fcgi.so +LoadModule proxy_module /usr/libexec/apache2/modules/mod_proxy.so +LoadModule proxy_fcgi_module /usr/libexec/apache2/modules/mod_proxy_fcgi.so ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/usr/share/apache2/htdocs/ diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-0001-opcache-config.m4-enable-opcache.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-0001-opcache-config.m4-enable-opcache.patch deleted file mode 100644 index 7be67ea9..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-0001-opcache-config.m4-enable-opcache.patch +++ /dev/null @@ -1,387 +0,0 @@ -From fafcfac0933c17e1bf551600080eb0541186caf5 Mon Sep 17 00:00:00 2001 -From: Anuj Mittal <anuj.mittal@intel.com> -Date: Mon, 2 Apr 2018 17:54:52 +0800 -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 -enough linux kernel. - -Upstream-Status: Inappropriate [Configuration] - -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> - -%% original patch: php5-0001-opcache-config.m4-enable-opcache.patch ---- - ext/opcache/config.m4 | 349 ++------------------------------------------------ - 1 file changed, 8 insertions(+), 341 deletions(-) - -diff --git a/ext/opcache/config.m4 b/ext/opcache/config.m4 -index 5a8b86c..6e87fa5 100644 ---- a/ext/opcache/config.m4 -+++ b/ext/opcache/config.m4 -@@ -11,353 +11,20 @@ if test "$PHP_OPCACHE" != "no"; then - AC_DEFINE(HAVE_MPROTECT, 1, [Define if you have mprotect() function]) - ]) - -- AC_MSG_CHECKING(for sysvipc shared memory support) -- AC_TRY_RUN([ --#include <sys/types.h> --#include <sys/wait.h> --#include <sys/ipc.h> --#include <sys/shm.h> --#include <unistd.h> --#include <string.h> -+ AC_DEFINE(HAVE_SHM_IPC, 1, [Define if you have SysV IPC SHM support]) - --int main() { -- pid_t pid; -- int status; -- int ipc_id; -- char *shm; -- struct shmid_ds shmbuf; -+ AC_DEFINE(HAVE_SHM_MMAP_ANON, 1, [Define if you have mmap(MAP_ANON) SHM support]) - -- ipc_id = shmget(IPC_PRIVATE, 4096, (IPC_CREAT | SHM_R | SHM_W)); -- if (ipc_id == -1) { -- return 1; -- } -+ AC_DEFINE(HAVE_SHM_MMAP_ZERO, 1, [Define if you have mmap("/dev/zero") SHM support]) - -- shm = shmat(ipc_id, NULL, 0); -- if (shm == (void *)-1) { -- shmctl(ipc_id, IPC_RMID, NULL); -- return 2; -- } -- -- if (shmctl(ipc_id, IPC_STAT, &shmbuf) != 0) { -- shmdt(shm); -- shmctl(ipc_id, IPC_RMID, NULL); -- return 3; -- } -- -- shmbuf.shm_perm.uid = getuid(); -- shmbuf.shm_perm.gid = getgid(); -- shmbuf.shm_perm.mode = 0600; -- -- if (shmctl(ipc_id, IPC_SET, &shmbuf) != 0) { -- shmdt(shm); -- shmctl(ipc_id, IPC_RMID, NULL); -- return 4; -- } -- -- shmctl(ipc_id, IPC_RMID, NULL); -- -- 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_IPC, 1, [Define if you have SysV IPC SHM support]) -- msg=yes,msg=no,msg=no) -- AC_MSG_RESULT([$msg]) -- -- AC_MSG_CHECKING(for mmap() using MAP_ANON shared memory support) -- AC_TRY_RUN([ --#include <sys/types.h> --#include <sys/wait.h> --#include <sys/mman.h> --#include <unistd.h> --#include <string.h> -- --#ifndef MAP_ANON --# ifdef MAP_ANONYMOUS --# define MAP_ANON MAP_ANONYMOUS --# endif --#endif --#ifndef MAP_FAILED --# define MAP_FAILED ((void*)-1) --#endif -- --int main() { -- pid_t pid; -- int status; -- char *shm; -- -- shm = mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_SHARED | MAP_ANON, -1, 0); -- if (shm == MAP_FAILED) { -- return 1; -- } -- -- 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_ANON, 1, [Define if you have mmap(MAP_ANON) SHM support]) -- msg=yes,msg=no,msg=no) -- AC_MSG_RESULT([$msg]) -- -- AC_MSG_CHECKING(for mmap() using /dev/zero shared memory support) -- AC_TRY_RUN([ --#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_MSG_CHECKING(for mmap() using shm_open() shared memory support) -- AC_TRY_RUN([ --#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 = shm_open(tmpname, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR); -- if (fd == -1) { -- return 2; -- } -- if (ftruncate(fd, 4096) < 0) { -- close(fd); -- shm_unlink(tmpname); -- return 3; -- } -- -- shm = mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); -- if (shm == MAP_FAILED) { -- return 4; -- } -- shm_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_POSIX, 1, [Define if you have POSIX mmap() SHM support]) -- msg=yes,msg=no,msg=no) -- AC_MSG_RESULT([$msg]) -+ 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_TRY_RUN([ --#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]) -- --flock_type=unknown --AC_MSG_CHECKING("whether flock struct is linux ordered") --AC_TRY_RUN([ -- #include <fcntl.h> -- struct flock lock = { 1, 2, 3, 4, 5 }; -- int main() { -- if(lock.l_type == 1 && lock.l_whence == 2 && lock.l_start == 3 && lock.l_len == 4) { -- return 0; -- } -- return 1; -- } --], [ -- flock_type=linux -- AC_DEFINE([HAVE_FLOCK_LINUX], [], [Struct flock is Linux-type]) -- AC_MSG_RESULT("yes") --], AC_MSG_RESULT("no") ) -+ -+ AC_DEFINE(HAVE_SHM_MMAP_FILE, 1, [Define if you have mmap() SHM support]) - --AC_MSG_CHECKING("whether flock struct is BSD ordered") --AC_TRY_RUN([ -- #include <fcntl.h> -- struct flock lock = { 1, 2, 3, 4, 5 }; -- int main() { -- if(lock.l_start == 1 && lock.l_len == 2 && lock.l_type == 4 && lock.l_whence == 5) { -- return 0; -- } -- return 1; -- } --], [ -- flock_type=bsd -- AC_DEFINE([HAVE_FLOCK_BSD], [], [Struct flock is BSD-type]) -- AC_MSG_RESULT("yes") --], AC_MSG_RESULT("no") ) -+ flock_type=linux -+ AC_DEFINE([HAVE_FLOCK_LINUX], [], [Struct flock is Linux-type]) - - if test "$flock_type" = "unknown"; then - AC_MSG_ERROR([Don't know how to define struct flock on this system[,] set --enable-opcache=no]) --- -2.7.4 - diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-change-AC_TRY_RUN-to-AC_TRY_LINK.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-change-AC_TRY_RUN-to-AC_TRY_LINK.patch deleted file mode 100644 index 1d21f8c5..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-change-AC_TRY_RUN-to-AC_TRY_LINK.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 5f49987e88dfcbdb84be6e0c9025432fbd998709 Mon Sep 17 00:00:00 2001 -From: Roy Li <rongqing.li@windriver.com> -Date: Thu, 20 Aug 2015 16:29:35 +0800 -Subject: [PATCH] config.m4: change AC_TRY_RUN to AC_TRY_LINK - -Upstream-Status: Pending - -AC_TRY_RUN is not suitable for cross-compile - -Signed-off-by: Roy Li <rongqing.li@windriver.com> - -%% original patch: change-AC_TRY_RUN-to-AC_TRY_LINK.patch - -%% original patch: php5-change-AC_TRY_RUN-to-AC_TRY_LINK.patch ---- - ext/fileinfo/config.m4 | 31 ++++++------------------------- - 1 file changed, 6 insertions(+), 25 deletions(-) - -diff --git a/ext/fileinfo/config.m4 b/ext/fileinfo/config.m4 -index 7e98d62..8a8ea0e 100644 ---- a/ext/fileinfo/config.m4 -+++ b/ext/fileinfo/config.m4 -@@ -14,31 +14,12 @@ if test "$PHP_FILEINFO" != "no"; then - libmagic/readcdf.c libmagic/softmagic.c" - - AC_MSG_CHECKING([for strcasestr]) -- AC_TRY_RUN([ --#include <string.h> --#include <strings.h> --#include <stdlib.h> -- --int main(void) --{ -- char *s0, *s1, *ret; -- -- s0 = (char *) malloc(42); -- s1 = (char *) malloc(8); -- -- memset(s0, 'X', 42); -- s0[24] = 'Y'; -- s0[26] = 'Z'; -- s0[41] = '\0'; -- memset(s1, 'x', 8); -- s1[0] = 'y'; -- s1[2] = 'Z'; -- s1[7] = '\0'; -- -- ret = strcasestr(s0, s1); -- -- return !(NULL != ret); --} -+ AC_TRY_COMPILE([ -+ #include <string.h> -+ #include <strings.h> -+ #include <stdlib.h> -+ ],[ -+ strcasestr(NULL, NULL); - ],[ - dnl using the platform implementation - AC_MSG_RESULT(yes) --- -2.7.4 - diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-pear-makefile.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-pear-makefile.patch deleted file mode 100644 index 99743030..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-pear-makefile.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 79725e82d5981fc94eb657f0f46a499dbfc1cc40 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 - -%% original patch: php5-pear-makefile.patch ---- - pear/Makefile.frag | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/pear/Makefile.frag b/pear/Makefile.frag -index 00bacae..739eeca 100644 ---- a/pear/Makefile.frag -+++ b/pear/Makefile.frag -@@ -11,7 +11,7 @@ PEAR_PREFIX = -dp a${program_prefix} - PEAR_SUFFIX = -ds a$(program_suffix) - - install-pear-installer: $(SAPI_CLI_PATH) -- @$(top_builddir)/sapi/cli/php $(PEAR_INSTALL_FLAGS) pear/install-pear-nozlib.phar -d "$(peardir)" -b "$(bindir)" ${PEAR_PREFIX} ${PEAR_SUFFIX} -+ @$(PHP_NATIVE_DIR)/php $(PEAR_INSTALL_FLAGS) $(builddir)/install-pear-nozlib.phar -d "$(peardir)" -b "$(bindir)" ${PEAR_PREFIX} ${PEAR_SUFFIX} - - install-pear: - @echo "Installing PEAR environment: $(INSTALL_ROOT)$(peardir)/" --- -2.7.4 - diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-phar-makefile.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-phar-makefile.patch deleted file mode 100644 index 4e1efd40..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-phar-makefile.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 3ea626a8d081f56b01004b7992534d4e6b81a9cc 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] - -%% original patch: php5-phar-makefile.patch ---- - 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 b8b1b42..1005b2d 100644 ---- a/ext/phar/Makefile.frag -+++ b/ext/phar/Makefile.frag -@@ -5,20 +5,9 @@ pharcmd: $(builddir)/phar.php $(builddir)/phar.phar - - PHP_PHARCMD_SETTINGS = -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1' -d phar.readonly=0 -d 'safe_mode=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"; \ -- if test "x$(PHP_MODULES)" != "x"; then \ -- $(top_srcdir)/build/shtool echo -n -- " -d extension_dir=$(top_builddir)/modules"; \ -- for i in bz2 zlib phar; do \ -- if test -f "$(top_builddir)/modules/$$i.la"; then \ -- . $(top_builddir)/modules/$$i.la; $(top_srcdir)/build/shtool echo -n -- " -d extension=$$dlname"; \ -- fi; \ -- done; \ -- fi; \ -- else \ -- $(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)"; ` -+ -+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/external/meta-openembedded/meta-oe/recipes-devtools/php/php/php_exec_native.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/php_exec_native.patch index 80409000..4aec4812 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/php_exec_native.patch +++ b/external/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/external/meta-openembedded/meta-oe/recipes-devtools/php/php/pthread-check-threads-m4.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/pthread-check-threads-m4.patch deleted file mode 100644 index 0c564cd8..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/pthread-check-threads-m4.patch +++ /dev/null @@ -1,30 +0,0 @@ -From d8067ceacbf54e79c9c6b68675332c09eaa0b55d Mon Sep 17 00:00:00 2001 -From: Jackie Huang <jackie.huang@windriver.com> -Date: Mon, 8 Apr 2013 14:29:51 +0800 -Subject: [PATCH] pthread-check - -Enable pthreads support when cross-compiling - -Upstream-Status: Inapproprate [config] - -Signed-off-by: Jackie Huang <jackie.huang@windriver.com> ---- - TSRM/threads.m4 | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/TSRM/threads.m4 b/TSRM/threads.m4 -index 38494ce..15d9454 100644 ---- a/TSRM/threads.m4 -+++ b/TSRM/threads.m4 -@@ -86,7 +86,7 @@ int main() { - pthreads_working=no - ], [ - dnl For cross compiling running this test is of no use. NetWare supports pthreads -- pthreads_working=no -+ pthreads_working=yes - case $host_alias in - *netware*) - pthreads_working=yes --- -1.7.4.1 - diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/xfail_two_bug_tests.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/xfail_two_bug_tests.patch new file mode 100644 index 00000000..21057439 --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/xfail_two_bug_tests.patch @@ -0,0 +1,34 @@ +php-ptest: xfail two tests + +If and when these tests are modified to expect the correct output, they will +succeed and generate warnings in the test summary. This patch can then be removed. + +Note that we add a closing '?>' to one test so that it can be executed directly by php. + +Upstream-Status: Pending + +Signed-off-By: Joe Slater <joe.slater@windriver.com> + + +--- a/tests/basic/bug71273.phpt ++++ b/tests/basic/bug71273.phpt +@@ -16,6 +16,8 @@ Bug #71273 A wrong ext directory setup i + var_dump(preg_match(",.+a[\\/].+[\\/]w.php_kartoffelbrei.dll.+,s", $out)); + ?> + ==DONE== ++--XFAIL-- ++Output is int(0), not int(1) + --EXPECT-- + int(1) + ==DONE== +--- a/tests/run-test/bug75042-3.phpt ++++ b/tests/run-test/bug75042-3.phpt +@@ -8,5 +8,8 @@ display_errors=1 + nonexistentsharedmodule + --FILE-- + <?php ++?> ++--XFAIL-- ++No warning message printed. + --EXPECTF-- + PHP Warning: PHP Startup: Unable to load dynamic library '%snonexistentsharedmodule.%s' %A diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.38.bb b/external/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.38.bb deleted file mode 100644 index d6f51454..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.38.bb +++ /dev/null @@ -1,24 +0,0 @@ -require php.inc - -LIC_FILES_CHKSUM = "file://LICENSE;md5=b602636d46a61c0ac0432bbf5c078fe4" - -SRC_URI += "file://php5-change-AC_TRY_RUN-to-AC_TRY_LINK.patch \ - file://pthread-check-threads-m4.patch \ - file://0001-Add-lpthread-to-link.patch \ - file://acinclude-xml2-config.patch \ - file://0001-acinclude-use-pkgconfig-for-libxml2-config.patch \ - file://0001-PHP-5.6-LibSSL-1.1-compatibility.patch \ - " - -SRC_URI_append_class-target = " \ - file://php5-pear-makefile.patch \ - file://php5-phar-makefile.patch \ - file://php5-0001-opcache-config.m4-enable-opcache.patch \ - " - -SRC_URI[md5sum] = "5b98aa066567eca8e5738b8ef4a3545c" -SRC_URI[sha256sum] = "d65b231bbdd63be4439ef5ced965cfd63e62983429dbd4dfcfb49981593ebc03" - -DEPENDS += "libmcrypt" -EXTRA_OECONF += "--with-mcrypt=${STAGING_DIR_TARGET}${exec_prefix} \ - " diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php_7.2.10.bb b/external/meta-openembedded/meta-oe/recipes-devtools/php/php_7.2.10.bb deleted file mode 100644 index 8dc64bb8..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php_7.2.10.bb +++ /dev/null @@ -1,25 +0,0 @@ -require php.inc - -LIC_FILES_CHKSUM = "file://LICENSE;md5=67e369bc8d1f2e641236b8002039a6a2" - -SRC_URI += "file://change-AC_TRY_RUN-to-AC_TRY_LINK.patch \ - file://0001-acinclude.m4-skip-binconfig-check-for-libxml.patch \ - file://0001-fix-error-caused-by-a-new-variable-is-declared-after.patch \ - file://CVE-2017-9120.patch \ - " -SRC_URI_append_class-target = " \ - file://pear-makefile.patch \ - file://phar-makefile.patch \ - file://0001-opcache-config.m4-enable-opcache.patch \ - " - -SRC_URI[md5sum] = "0ce8ff615bfb9de7a89bab8d742c11c0" -SRC_URI[sha256sum] = "01b6129a0921a1636b07da9bc598a876669e45a462cef4b5844fc26862dbda9d" - -PACKAGECONFIG[mysql] = "--with-mysqli=${STAGING_BINDIR_CROSS}/mysql_config \ - --with-pdo-mysql=${STAGING_BINDIR_CROSS}/mysql_config \ - ,--without-mysqli --without-pdo-mysql \ - ,mysql5" -PACKAGECONFIG[valgrind] = "--with-valgrind=${STAGING_DIR_TARGET}/usr,--with-valgrind=no,valgrind" - -FILES_${PN}-fpm += "${sysconfdir}/php-fpm.d/www.conf.default" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php.inc b/external/meta-openembedded/meta-oe/recipes-devtools/php/php_7.4.4.bb index bfd0ddfb..1d93902e 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php.inc +++ b/external/meta-openembedded/meta-oe/recipes-devtools/php/php_7.4.4.bb @@ -3,15 +3,19 @@ HOMEPAGE = "http://www.php.net" SECTION = "console/network" LICENSE = "PHP-3.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=7e571b888d585b31f9ef5edcc647fa30" BBCLASSEXTEND = "native" DEPENDS = "zlib bzip2 libxml2 virtual/libiconv php-native lemon-native" DEPENDS_class-native = "zlib-native libxml2-native" -PHP_MAJOR_VERSION = "${@d.getVar('PV', True).split('.')[0]}" +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://debian-php-fixheader.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 = " \ @@ -20,13 +24,18 @@ SRC_URI_append_class-target = " \ file://php_exec_native.patch \ file://php-fpm.conf \ file://php-fpm-apache.conf \ - file://0001-acinclude.m4-don-t-unset-cache-variables.patch \ file://70_mod_php${PHP_MAJOR_VERSION}.conf \ file://php-fpm.service \ + file://pear-makefile.patch \ + file://phar-makefile.patch \ + file://0001-opcache-config.m4-enable-opcache.patch \ + file://xfail_two_bug_tests.patch \ " S = "${WORKDIR}/php-${PV}" +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). # @@ -44,9 +53,7 @@ COMMON_EXTRA_OECONF = "--enable-sockets \ --libdir=${PHP_LIBDIR} \ " EXTRA_OECONF = "--enable-mbstring \ - --enable-wddx \ --enable-fpm \ - --enable-zip \ --with-libdir=${baselib} \ --with-gettext=${STAGING_LIBDIR}/.. \ --with-zlib=${STAGING_LIBDIR}/.. \ @@ -58,6 +65,9 @@ EXTRA_OECONF = "--enable-mbstring \ ${COMMON_EXTRA_OECONF} \ " +EXTRA_OECONF_append_riscv64 = " --with-pcre-jit=no" +EXTRA_OECONF_append_riscv32 = " --with-pcre-jit=no" + CACHED_CONFIGUREVARS += "ac_cv_func_dlopen=no ac_cv_lib_dl_dlopen=yes" EXTRA_OECONF_class-native = " \ @@ -71,10 +81,11 @@ PACKAGECONFIG ??= "mysql sqlite3 imap opcache openssl \ " PACKAGECONFIG_class-native = "" -PACKAGECONFIG[mysql] = "--with-mysql=${STAGING_DIR_TARGET}${prefix} \ - --with-mysqli=${STAGING_BINDIR_CROSS}/mysql_config \ - --with-pdo-mysql=${STAGING_BINDIR_CROSS}/mysql_config \ - ,--without-mysql --without-mysqli --without-pdo-mysql \ +PACKAGECONFIG[zip] = "--with-zip --with-zlib-dir=${STAGING_EXECPREFIXDIR},,libzip" + +PACKAGECONFIG[mysql] = "--with-mysqli=mysqlnd \ + --with-pdo-mysql=mysqlnd \ + ,--without-mysqli --without-pdo-mysql \ ,mysql5" PACKAGECONFIG[sqlite3] = "--with-sqlite3=${STAGING_LIBDIR}/.. \ @@ -82,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} \ @@ -92,11 +103,18 @@ PACKAGECONFIG[imap] = "--with-imap=${STAGING_DIR_HOST} \ 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" 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" -CFLAGS_append_aarch64 = " -O2" + +# 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}" @@ -104,7 +122,7 @@ acpaths = "" do_configure_prepend () { rm -f ${S}/build/libtool.m4 ${S}/ltmain.sh ${S}/aclocal.m4 - find ${S} -name config.m4 | xargs -n1 sed -i 's!APXS_HTTPD=.*!APXS_HTTPD=${STAGING_BINDIR_NATIVE}/httpd!' + find ${S} -name config.m4 | xargs -n1 sed -i 's!APXS_HTTPD=.*!APXS_HTTPD=${STAGING_SBINDIR_NATIVE}/httpd!' } do_configure_append() { @@ -135,16 +153,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 @@ -172,12 +186,10 @@ do_install_append_class-target() { done if ${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'true', 'false', d)}; then - install -d ${D}${libdir}/apache2/modules install -d ${D}${sysconfdir}/apache2/modules.d install -d ${D}${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION} - install -m 755 libs/libphp${PHP_MAJOR_VERSION}.so ${D}${libdir}/apache2/modules install -m 644 ${WORKDIR}/70_mod_php${PHP_MAJOR_VERSION}.conf ${D}${sysconfdir}/apache2/modules.d - sed -i s,lib/,${libdir}/, ${D}${sysconfdir}/apache2/modules.d/70_mod_php${PHP_MAJOR_VERSION}.conf + sed -i s,lib/,${libexecdir}/, ${D}${sysconfdir}/apache2/modules.d/70_mod_php${PHP_MAJOR_VERSION}.conf cat ${S}/php.ini-production | \ sed -e 's,extension_dir = \"\./\",extension_dir = \"/usr/lib/extensions\",' \ > ${D}${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION}/php.ini @@ -211,12 +223,12 @@ INITSCRIPT_PACKAGES = "${PN}-fpm" inherit update-rc.d FILES_${PN}-dbg =+ "${bindir}/.debug \ - ${libdir}/apache2/modules/.debug" + ${libexecdir}/apache2/modules/.debug" FILES_${PN}-doc += "${PHP_LIBDIR}/php/doc" FILES_${PN}-cli = "${bindir}/php" FILES_${PN}-phar = "${bindir}/phar*" FILES_${PN}-cgi = "${bindir}/php-cgi" -FILES_${PN}-fpm = "${sbindir}/php-fpm ${sysconfdir}/php-fpm.conf ${datadir}/fpm ${sysconfdir}/init.d/php-fpm ${systemd_unitdir}/system/php-fpm.service" +FILES_${PN}-fpm = "${sbindir}/php-fpm ${sysconfdir}/php-fpm.conf ${datadir}/fpm ${sysconfdir}/init.d/php-fpm ${systemd_unitdir}/system/php-fpm.service ${sysconfdir}/php-fpm.d/www.conf.default" FILES_${PN}-fpm-apache2 = "${sysconfdir}/apache2/conf.d/php-fpm.conf" CONFFILES_${PN}-fpm = "${sysconfdir}/php-fpm.conf" CONFFILES_${PN}-fpm-apache2 = "${sysconfdir}/apache2/conf.d/php-fpm.conf" @@ -237,7 +249,7 @@ FILES_${PN}-dev = "${includedir}/php ${PHP_LIBDIR}/build ${bindir}/phpize \ FILES_${PN}-staticdev += "${PHP_LIBDIR}/extensions/*/*.a" FILES_${PN}-opcache = "${PHP_LIBDIR}/extensions/*/opcache${SOLIBSDEV}" FILES_${PN} = "${PHP_LIBDIR}/php" -FILES_${PN} += "${bindir}" +FILES_${PN} += "${bindir} ${libexecdir}/apache2" SUMMARY_${PN}-modphp = "PHP module for the Apache HTTP server" FILES_${PN}-modphp = "${libdir}/apache2 ${sysconfdir}" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/ply/ply_git.bb b/external/meta-openembedded/meta-oe/recipes-devtools/ply/ply_git.bb new file mode 100644 index 00000000..7d693b36 --- /dev/null +++ b/external/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/external/meta-openembedded/meta-oe/recipes-devtools/pmtools/pmtools_git.bb b/external/meta-openembedded/meta-oe/recipes-devtools/pmtools/pmtools_git.bb index 8491fc90..9afcbbb7 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/pmtools/pmtools_git.bb +++ b/external/meta-openembedded/meta-oe/recipes-devtools/pmtools/pmtools_git.bb @@ -18,7 +18,7 @@ S = "${WORKDIR}/git" inherit update-alternatives ALTERNATIVE_PRIORITY = "90" -ALTERNATIVE_${PN} = "acpixtract" +ALTERNATIVE_${PN} = "acpixtract acpidump" do_configure[noexec] = "1" do_compile() { diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c/0001-avoid-race-condition.patch b/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c/0001-avoid-race-condition.patch new file mode 100644 index 00000000..4fc7703d --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c/0001-avoid-race-condition.patch @@ -0,0 +1,36 @@ +From 216e31260b618ec73862f9f5336597f391444dac Mon Sep 17 00:00:00 2001 +From: Chen Qi <Qi.Chen@windriver.com> +Date: Sun, 29 Sep 2019 17:20:42 +0800 +Subject: [PATCH] avoid race condition + +It's possible that the cxx-generate-packed-data.cc is compiled +while the t/test-full.pb.h is being generated. This will result +the following error. + + DEBUG: ./t/test-full.pb.h:4:0: error: unterminated #ifndef + ./t/test-full.pb.h:4:0: error: unterminated #ifndef + +Add a dependency to avoid such problem. + +Upstream-Status: Pending + +Signed-off-by: Chen Qi <Qi.Chen@windriver.com> +--- + Makefile.am | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Makefile.am b/Makefile.am +index b0cb065..1608ae0 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -156,6 +156,7 @@ noinst_PROGRAMS += \ + t_generated_code2_cxx_generate_packed_data_SOURCES = \ + t/generated-code2/cxx-generate-packed-data.cc \ + t/test-full.pb.cc ++t/generated-code2/cxx-generate-packed-data.cc: t/test-full.pb.h + $(t_generated_code2_cxx_generate_packed_data_OBJECTS): t/test-full.pb.h + t_generated_code2_cxx_generate_packed_data_CXXFLAGS = \ + $(AM_CXXFLAGS) \ +-- +2.17.1 + diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.1.bb b/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.3.bb index 7ef03009..ed877344 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.1.bb +++ b/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.3.bb @@ -12,10 +12,11 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=cb901168715f4782a2b06c3ddaefa558" DEPENDS = "protobuf-native protobuf" -PV .= "+git${SRCPV}" -SRCREV = "269771b4b45d3aba04e59569f53600003db8d9ff" +SRCREV = "f20a3fa131c275a0e795d99a28f94b4dbbb5af26" -SRC_URI = "git://github.com/protobuf-c/protobuf-c.git" +SRC_URI = "git://github.com/protobuf-c/protobuf-c.git \ + file://0001-avoid-race-condition.patch \ + " S = "${WORKDIR}/git" @@ -25,6 +26,11 @@ BUILD_CXXFLAGS += "-std=c++11" inherit autotools pkgconfig +# After several fix attempts there is still a race between generating +# t.test-full.pb.h and compiling cxx_generate_packed_data.c despite +# BUILT_SOURCES and explicit dependencies. +PARALLEL_MAKE = "" + PACKAGE_BEFORE_PN = "${PN}-compiler" FILES_${PN}-compiler = "${bindir}" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Makefile.am-include-descriptor.cc-when-building-libp.patch b/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Makefile.am-include-descriptor.cc-when-building-libp.patch new file mode 100644 index 00000000..fc728612 --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Makefile.am-include-descriptor.cc-when-building-libp.patch @@ -0,0 +1,28 @@ +From 321709837f412e2f590e36e3fe33571bb40036a7 Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Thu, 27 Jun 2019 13:27:18 +0000 +Subject: [PATCH] Makefile.am: include descriptor.pb.cc when building libprotoc.so + +* otherwise plugin.pb.o has undefined symbol scc_info_FileDescriptorProto_google_2fprotobuf_2fdescriptor_2eproto + and build with gold fails with: + core2-32-oe-linux/protobuf/3.8.0-r0/recipe-sysroot-native/usr/bin/i686-oe-linux/../../libexec/i686-oe-linux/gcc/i686-oe-linux/9.1.0/ld.bfd: ./.libs/libprotoc.so: undefined reference to `descriptor_table_google_2fprotobuf_2fdescriptor_2eproto' + core2-32-oe-linux/protobuf/3.8.0-r0/recipe-sysroot-native/usr/bin/i686-oe-linux/../../libexec/i686-oe-linux/gcc/i686-oe-linux/9.1.0/ld.bfd: ./.libs/libprotoc.so: undefined reference to `scc_info_FileDescriptorProto_google_2fprotobuf_2fdescriptor_2eproto' + +Upstream-Status: Pending +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + src/Makefile.am | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/Makefile.am b/src/Makefile.am +index be18ba761..57e3daec1 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -313,6 +313,7 @@ libprotoc_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libprotoc.map + EXTRA_libprotoc_la_DEPENDENCIES = libprotoc.map + endif + libprotoc_la_SOURCES = \ ++ google/protobuf/descriptor.pb.cc \ + google/protobuf/compiler/code_generator.cc \ + google/protobuf/compiler/command_line_interface.cc \ + google/protobuf/compiler/plugin.cc \ diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch b/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch new file mode 100644 index 00000000..0a2e5e2d --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch @@ -0,0 +1,56 @@ +From a28e15092a298e0c73c6fc1ded0913275cf27cb0 Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Fri, 28 Jun 2019 13:50:52 +0000 +Subject: [PATCH] examples/Makefile: respect CXX,LDFLAGS variables, fix build + with gold + +* move pkg-config call to separate variable, so that the final version + of the whole command so it's shown in log.do_compile_ptest_base +* add ../src/google/protobuf/.libs/timestamp.pb.o when linking + add_person_cpp otherwise it fails to link with gold: + i686-oe-linux-g++ -m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=core2-32-oe-linux/protobuf/3.8.0-r0/recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed add_person.cc addressbook.pb.cc -o add_person_cpp `pkg-config --cflags --libs protobuf` + /tmp/cccjSJQs.o:addressbook.pb.cc:scc_info_Person_addressbook_2eproto: error: undefined reference to 'scc_info_Timestamp_google_2fprotobuf_2ftimestamp_2eproto' + /tmp/cccjSJQs.o:addressbook.pb.cc:descriptor_table_addressbook_2eproto_deps: error: undefined reference to 'descriptor_table_google_2fprotobuf_2ftimestamp_2eproto' + collect2: error: ld returned 1 exit status + Makefile:43: recipe for target 'add_person_cpp' failed + +* and the same with list_people_cpp this time with pkg-config already through the variable: + i686-oe-linux-g++ -m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=core2-32-oe-linux/protobuf/3.8.0-r0/recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -pthread -Icore2-32-oe-linux/protobuf/3.8.0-r0/git/src -Lcore2-32-oe-linux/protobuf/3.8.0-r0/git/src/.libs -Lcore2-32-oe-linux/protobuf/3.8.0-r0/recipe-sysroot/usr/lib -lprotobuf list_people.cc addressbook.pb.cc -o list_people_cpp + /tmp/ccpaI5Su.o:addressbook.pb.cc:scc_info_Person_addressbook_2eproto: error: undefined reference to 'scc_info_Timestamp_google_2fprotobuf_2ftimestamp_2eproto' + /tmp/ccpaI5Su.o:addressbook.pb.cc:descriptor_table_addressbook_2eproto_deps: error: undefined reference to 'descriptor_table_google_2fprotobuf_2ftimestamp_2eproto' + collect2: error: ld returned 1 exit status + Makefile:49: recipe for target 'list_people_cpp' failed + +Upstream-Status: Pending +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + examples/Makefile | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/examples/Makefile b/examples/Makefile +index 4ad605641..31d887639 100644 +--- a/examples/Makefile ++++ b/examples/Makefile +@@ -2,6 +2,8 @@ + + .PHONY: all cpp java python clean + ++PROTOBUF := $(shell pkg-config --cflags --libs protobuf) ++ + all: cpp java python + + cpp: add_person_cpp list_people_cpp +@@ -41,11 +43,11 @@ protoc_middleman_dart: addressbook.proto + + add_person_cpp: add_person.cc protoc_middleman + pkg-config --cflags protobuf # fails if protobuf is not installed +- c++ add_person.cc addressbook.pb.cc -o add_person_cpp `pkg-config --cflags --libs protobuf` ++ $(CXX) $(CXXFLAGS) $(LDFLAGS) ../src/google/protobuf/.libs/timestamp.pb.o $(PROTOBUF) add_person.cc addressbook.pb.cc -o add_person_cpp + + list_people_cpp: list_people.cc protoc_middleman + pkg-config --cflags protobuf # fails if protobuf is not installed +- c++ list_people.cc addressbook.pb.cc -o list_people_cpp `pkg-config --cflags --libs protobuf` ++ $(CXX) $(CXXFLAGS) $(LDFLAGS) ../src/google/protobuf/.libs/timestamp.pb.o $(PROTOBUF) list_people.cc addressbook.pb.cc -o list_people_cpp + + add_person_dart: add_person.dart protoc_middleman_dart + diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/run-ptest b/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/run-ptest index 7c3a8d1b..b3b2278c 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/run-ptest +++ b/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/run-ptest @@ -8,7 +8,7 @@ for write_exe_full_path in ${DIR}/add_person_*; do if [ -x "${write_exe_full_path}" ]; then write_exe=`basename ${write_exe_full_path}` echo "Generating new test file using ${write_exe}..." - ${write_exe_full_path} "${TEST_FILE}" + printf "1234\nname\nname@example.com\n" | ${write_exe_full_path} "${TEST_FILE}" RETVAL=$? [ $RETVAL -eq 0 ] || exit $RETVAL diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.6.1.bb b/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.11.4.bb index cf72d9ca..4d6c5b25 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.6.1.bb +++ b/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.11.4.bb @@ -10,13 +10,13 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=37b5762e07f0af8c74ce80a8bda4266b" DEPENDS = "zlib" DEPENDS_append_class-target = " protobuf-native" -PV .= "+git${SRCPV}" +SRCREV = "d0bfd5221182da1a7cc280f3337b5e41a89539cf" -SRCREV = "48cb18e5c419ddd23d9badcfe4e9df7bde1979b2" - -SRC_URI = "git://github.com/google/protobuf.git;branch=3.6.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 \ + file://0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch \ " S = "${WORKDIR}/git" @@ -31,9 +31,6 @@ TEST_SRC_DIR = "examples" LANG_SUPPORT = "cpp ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python', '', d)}" do_compile_ptest() { - # Modify makefile to use the cross-compiler - sed -e "s|c++|${CXX} \$(LDFLAGS)|g" -i "${S}/${TEST_SRC_DIR}/Makefile" - mkdir -p "${B}/${TEST_SRC_DIR}" # Add the location of the cross-compiled header and library files diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/pugixml/pugixml_1.10.bb b/external/meta-openembedded/meta-oe/recipes-devtools/pugixml/pugixml_1.10.bb new file mode 100644 index 00000000..69e66289 --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/pugixml/pugixml_1.10.bb @@ -0,0 +1,22 @@ +SUMMARY = "Light-weight C++ XML Processing Library" +DESCRIPTION = "pugixml is a C++ XML processing library, which consists of a \ +DOM-like interface with rich traversal/modification capabilities, \ +an extremely fast XML parser which constructs the DOM tree from \ +n XML file/buffer, and an XPath 1.0 implementation for complex \ +data-driven tree queries." +HOMPAGE = "https://pugixml.org/" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://readme.txt;beginline=29;endline=52;md5=d5ee91fb74cbb64223b3693fd64eb169" + +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 \ + -DCMAKE_BUILD_TYPE=Release \ + " diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/python/python-cpuset_1.5.7.bb b/external/meta-openembedded/meta-oe/recipes-devtools/python/python-cpuset_1.5.7.bb deleted file mode 100644 index 156e52a3..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/python/python-cpuset_1.5.7.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 = "ae629aa1dc959342745ad97406adddf63bb6dbdd" -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/external/meta-openembedded/meta-oe/recipes-devtools/python/python-distutils-extra.bb b/external/meta-openembedded/meta-oe/recipes-devtools/python/python-distutils-extra.bb deleted file mode 100644 index eb84f743..00000000 --- a/external/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/external/meta-openembedded/meta-oe/recipes-devtools/python/python-futures_3.2.0.bb b/external/meta-openembedded/meta-oe/recipes-devtools/python/python-futures_3.2.0.bb deleted file mode 100644 index 3ee945fc..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/python/python-futures_3.2.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] = "d1b299a06b96ccb59f70324716dc0016" -SRC_URI[sha256sum] = "9ec02aa7d674acb8618afb127e27fde7fc68994c0437ad759fa094a574adb265" - -inherit pypi setuptools - -BBCLASSEXTEND = "native nativesdk" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.28.3.bb b/external/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.28.3.bb deleted file mode 100644 index 348a0398..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.28.3.bb +++ /dev/null @@ -1,31 +0,0 @@ -SUMMARY = "Python GObject bindings" -HOMEPAGE = "http://www.pygtk.org/" -SECTION = "devel/python" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7" - -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 \ -" - -SRC_URI[md5sum] = "3bac63c86bb963aa401f97859464aa90" -SRC_URI[sha256sum] = "3dd3e21015d06e00482ea665fc1733b77e754a6ab656a5db5d7f7bfaf31ad0b0" - -S = "${WORKDIR}/${SRCNAME}-${PV}" - -BBCLASSEXTEND = "native" - -EXTRA_OECONF = "--disable-cairo" - -RDEPENDS_${PN} += "python-setuptools" -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/external/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson/0001-CMake-remove-hardcoded-CMAKECONFIG_INSTALL_DIR-path.patch b/external/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson/0001-CMake-remove-hardcoded-CMAKECONFIG_INSTALL_DIR-path.patch new file mode 100644 index 00000000..745f5d01 --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson/0001-CMake-remove-hardcoded-CMAKECONFIG_INSTALL_DIR-path.patch @@ -0,0 +1,36 @@ +From 8d272e53a4d1dc405e08ce2dd50159c58f4451e9 Mon Sep 17 00:00:00 2001 +From: Ruslan Bilovol <rbilovol@cisco.com> +Date: Thu, 24 Jan 2019 18:11:39 +0200 +Subject: [PATCH] CMake: remove hardcoded CMAKECONFIG_INSTALL_DIR path + +Currently this path is hardcoded to lib/cmake. +Some distributions have different library path (like lib64). +So reuse LIB_INSTALL_DIR for that to make CMAKECONFIG_INSTALL_DIR +configurable and usable in such distros. + +Upstream-Status: Backport [https://github.com/Tencent/rapidjson/commit/8d272e53a4d1dc405e08ce2dd50159c58f4451e9] + +Signed-off-by: Ruslan Bilovol <rbilovol@cisco.com> +--- + CMakeLists.txt | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7c60407..0275672 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -199,9 +199,9 @@ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}ConfigVersion.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake @ONLY) + + # ... for the install tree +-SET( CMAKECONFIG_INSTALL_DIR lib/cmake/${PROJECT_NAME} ) ++SET( CMAKECONFIG_INSTALL_DIR ${LIB_INSTALL_DIR}/cmake/${PROJECT_NAME} ) + FILE( RELATIVE_PATH REL_INCLUDE_DIR +- "${CMAKE_INSTALL_PREFIX}/${CMAKECONFIG_INSTALL_DIR}" ++ "${CMAKECONFIG_INSTALL_DIR}" + "${CMAKE_INSTALL_PREFIX}/include" ) + + SET( ${PROJECT_NAME}_INCLUDE_DIR "\${${PROJECT_NAME}_CMAKE_DIR}/${REL_INCLUDE_DIR}" ) +-- +1.9.1 + diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb b/external/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb index c90eab04..e3ed9c6a 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb +++ b/external/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb @@ -4,7 +4,8 @@ SECTION = "libs" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://license.txt;md5=ba04aa8f65de1396a7e59d1d746c2125" -SRC_URI = "git://github.com/miloyip/rapidjson.git;nobranch=1" +SRC_URI = "git://github.com/miloyip/rapidjson.git;nobranch=1 \ + file://0001-CMake-remove-hardcoded-CMAKECONFIG_INSTALL_DIR-path.patch" SRCREV = "6a905f9311f82d306da77bd963ec5aa5da07da9c" @@ -14,7 +15,7 @@ S = "${WORKDIR}/git" inherit cmake -EXTRA_OECMAKE += "-DRAPIDJSON_BUILD_DOC=OFF -DRAPIDJSON_BUILD_TESTS=OFF -DRAPIDJSON_BUILD_EXAMPLES=OFF" +EXTRA_OECMAKE += "-DRAPIDJSON_BUILD_DOC=OFF -DRAPIDJSON_BUILD_TESTS=OFF -DRAPIDJSON_BUILD_EXAMPLES=OFF -DLIB_INSTALL_DIR:STRING=${libdir}" # RapidJSON is a header-only C++ library, so the main package will be empty. diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/sip/sip.inc b/external/meta-openembedded/meta-oe/recipes-devtools/sip/sip.inc index d0795454..d8e32a76 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/sip/sip.inc +++ b/external/meta-openembedded/meta-oe/recipes-devtools/sip/sip.inc @@ -4,10 +4,10 @@ SECTION = "devel" LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://LICENSE-GPL2;md5=e91355d8a6f8bd8f7c699d62863c7303" -SRC_URI = "${SOURCEFORGE_MIRROR}/project/pyqt/sip/sip-${PV}/sip-${PV}.tar.gz \ - " -SRC_URI[md5sum] = "9124cb8978742685747a5415179a9890" -SRC_URI[sha256sum] = "e353a7056599bf5fbd5d3ff9842a6ab2ea3cf4e0304a0f925ec5862907c0d15e" +SRC_URI = "https://www.riverbankcomputing.com/static/Downloads/sip/${PV}/sip-${PV}.tar.gz \ +" +SRC_URI[md5sum] = "98111479309dc472410f26080d6d4a88" +SRC_URI[sha256sum] = "5436b61a78f48c7e8078e93a6b59453ad33780f80c644e5f3af39f94be1ede44" S = "${WORKDIR}/sip-${PV}" @@ -15,19 +15,19 @@ BBCLASSEXTEND = "native" do_configure_prepend_class-target() { echo "py_platform = linux" > sip.cfg - echo "py_inc_dir = %(sysroot)/${includedir}/python${PYTHON_BASEVERSION}${PYTHON_ABI}" >> sip.cfg + echo "py_inc_dir = %(sysroot)/${includedir}/python%(py_major).%(py_minor)${PYTHON_ABI}" >> sip.cfg echo "sip_bin_dir = ${D}/${bindir}" >> sip.cfg echo "sip_inc_dir = ${D}/${includedir}" >> sip.cfg - echo "sip_module_dir = ${D}/${libdir}/python${PYTHON_BASEVERSION}${PYTHON_ABI}/site-packages" >> sip.cfg + echo "sip_module_dir = ${D}/${libdir}/python%(py_major).%(py_minor)/site-packages" >> sip.cfg echo "sip_sip_dir = ${D}/${datadir}/sip" >> sip.cfg ${PYTHON} configure.py --configuration sip.cfg --sip-module PyQt5.sip --sysroot ${STAGING_DIR_HOST} CC="${CC}" CXX="${CXX}" LINK="${CXX}" STRIP="" LINK_SHLIB="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" LFLAGS="${LDFLAGS}" } do_configure_prepend_class-native() { echo "py_platform = linux" > sip.cfg - echo "py_inc_dir = ${includedir}/python${PYTHON_BASEVERSION}${PYTHON_ABI}" >> sip.cfg + echo "py_inc_dir = ${includedir}/python%(py_major).%(py_minor)${PYTHON_ABI}" >> sip.cfg echo "sip_bin_dir = ${D}/${bindir}" >> sip.cfg echo "sip_inc_dir = ${D}/${includedir}" >> sip.cfg - echo "sip_module_dir = ${D}/${libdir}/python${PYTHON_BASEVERSION}${PYTHON_ABI}/site-packages" >> sip.cfg + echo "sip_module_dir = ${D}/${libdir}/python%(py_major).%(py_minor)/site-packages" >> sip.cfg echo "sip_sip_dir = ${D}/${datadir}/sip" >> sip.cfg ${PYTHON} configure.py --configuration sip.cfg --sip-module PyQt5.sip --sysroot=${STAGING_DIR_NATIVE} } diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/sip/sip3_4.19.13.bb b/external/meta-openembedded/meta-oe/recipes-devtools/sip/sip3_4.19.13.bb deleted file mode 100644 index dc15bc2e..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/sip/sip3_4.19.13.bb +++ /dev/null @@ -1,11 +0,0 @@ -require sip.inc - -DEPENDS = "python3" - -inherit python3-dir python3native - -PACKAGES += "python3-sip3" - -FILES_python3-sip3 = "${libdir}/${PYTHON_DIR}${PYTHON_ABI}/site-packages/" -FILES_${PN}-dbg += "${libdir}/${PYTHON_DIR}${PYTHON_ABI}/site-packages/.debug" - diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/sip/sip3_4.19.19.bb b/external/meta-openembedded/meta-oe/recipes-devtools/sip/sip3_4.19.19.bb new file mode 100644 index 00000000..010fa30f --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/sip/sip3_4.19.19.bb @@ -0,0 +1,11 @@ +require sip.inc + +DEPENDS = "python3" + +inherit python3-dir python3native + +PACKAGES += "python3-sip3" + +FILES_python3-sip3 = "${libdir}/${PYTHON_DIR}/site-packages/" +FILES_${PN}-dbg += "${libdir}/${PYTHON_DIR}/site-packages/.debug" + diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/sip/sip_4.19.13.bb b/external/meta-openembedded/meta-oe/recipes-devtools/sip/sip_4.19.13.bb deleted file mode 100644 index 3da15b84..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/sip/sip_4.19.13.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/external/meta-openembedded/meta-oe/recipes-devtools/sqlite-orm/sqlite-orm_1.5.bb b/external/meta-openembedded/meta-oe/recipes-devtools/sqlite-orm/sqlite-orm_1.5.bb new file mode 100644 index 00000000..4a27e4b2 --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/sqlite-orm/sqlite-orm_1.5.bb @@ -0,0 +1,22 @@ +SUMMARY = "SQLite ORM light header only library for modern C++" +HOMEPAGE = "https://github.com/fnc12/sqlite_orm" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b5bf5ee8bb16d8e19359efe11bdc3f2" + +inherit cmake + +DEPENDS += "sqlite3" + +SRCREV = "e8a9e9416f421303f4b8970caab26dadf8bae98b" +SRC_URI = "git://github.com/fnc12/sqlite_orm;protocol=https" +S = "${WORKDIR}/git" + +EXTRA_OECMAKE += "-DSqliteOrm_BuildTests=OFF" + +BBCLASSEXTEND = "native nativesdk" + +FILES_${PN}-dev += "${libdir}/cmake/${BPN}" + +# Header-only library +RDEPENDS_${PN}-dev = "" +RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
\ No newline at end of file diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/configure.use.fontconfig.with.xft.patch b/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/configure.use.fontconfig.with.xft.patch deleted file mode 100644 index a0c157f5..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/configure.use.fontconfig.with.xft.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- a/configure.in.orig 2014-05-10 14:35:39.859147385 +0000 -+++ b/configure.in 2014-05-10 14:36:20.282925184 +0000 -@@ -554,8 +554,8 @@ - dnl make sure package configurator (xft-config or pkg-config - dnl says that xft is present. - found_xft=yes -- XFT_CFLAGS=`pkg-config --cflags xft 2>/dev/null` || found_xft="no" -- XFT_LIBS=`pkg-config --libs xft 2>/dev/null` || found_xft="no" -+ XFT_CFLAGS=`pkg-config --cflags xft fontconfig 2>/dev/null` || found_xft="no" -+ XFT_LIBS=`pkg-config --libs xft fontconfig 2>/dev/null` || found_xft="no" - AC_MSG_RESULT([$found_xft]) - dnl make sure that compiling against Xft header file doesn't bomb - if test "$found_xft" = "yes" ; then diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/confsearch.diff b/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/confsearch.diff index 4dbd9a4f..229acf3e 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/confsearch.diff +++ b/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/confsearch.diff @@ -1,35 +1,46 @@ +From 5539442e5f5442606071afc5cf02642314ad13bb Mon Sep 17 00:00:00 2001 +From: Koen Kooi <koen@dominion.thruhere.net> +Date: Wed, 17 Aug 2011 22:52:35 +0200 +Subject: [PATCH] tk 8.5.8: import from OE rev + Patch by Sergei Golovan allows to find tclConfig.sh in /usr/share/tcltk/tcl8.5 and tkConfig.sh in /usr/share/tcltk/tk8.5 where they are located in Debian installation. ---- tk8.5-8.5.8.orig/unix/configure -+++ tk8.5-8.5.8/unix/configure -@@ -1431,7 +1431,8 @@ - `ls -d /usr/contrib/lib 2>/dev/null` \ +--- + unix/configure | 1 + + unix/tcl.m4 | 2 ++ + 2 files changed, 3 insertions(+) + +Index: a/unix/configure +=================================================================== +--- a/unix/configure.orig ++++ b/unix/configure +@@ -1431,6 +1431,7 @@ echo "$as_me: error: ${with_tclconfig} d `ls -d /usr/local/lib 2>/dev/null` \ + `ls -d /usr/contrib/lib 2>/dev/null` \ `ls -d /usr/pkg/lib 2>/dev/null` \ -+ `ls -d /usr/share/tcltk/tcl8.5 2>/dev/null` \ ++ `ls -d /usr/share/tcltk/tcl8.6 2>/dev/null` \ + `ls -d /usr/lib/tcl8.6 2>/dev/null` \ `ls -d /usr/lib 2>/dev/null` \ `ls -d /usr/lib64 2>/dev/null` \ - ; do - if test -f "$i/tclConfig.sh" ; then ---- tk8.5-8.5.8.orig/unix/tcl.m4 -+++ tk8.5-8.5.8/unix/tcl.m4 -@@ -93,7 +93,8 @@ - `ls -d /usr/contrib/lib 2>/dev/null` \ +Index: a/unix/tcl.m4 +=================================================================== +--- a/unix/tcl.m4.orig ++++ b/unix/tcl.m4 +@@ -93,6 +93,7 @@ AC_DEFUN([SC_PATH_TCLCONFIG], [ `ls -d /usr/local/lib 2>/dev/null` \ + `ls -d /usr/contrib/lib 2>/dev/null` \ `ls -d /usr/pkg/lib 2>/dev/null` \ -+ `ls -d /usr/share/tcltk/tcl8.5 2>/dev/null` \ ++ `ls -d /usr/share/tcltk/tcl8.6 2>/dev/null` \ + `ls -d /usr/lib/tcl8.6 2>/dev/null` \ `ls -d /usr/lib 2>/dev/null` \ `ls -d /usr/lib64 2>/dev/null` \ - ; do - if test -f "$i/tclConfig.sh" ; then -@@ -223,7 +224,8 @@ - `ls -d ${prefix}/lib 2>/dev/null` \ +@@ -226,6 +227,7 @@ AC_DEFUN([SC_PATH_TKCONFIG], [ `ls -d /usr/local/lib 2>/dev/null` \ `ls -d /usr/contrib/lib 2>/dev/null` \ -+ `ls -d /usr/share/tcltk/tk8.5 2>/dev/null` \ + `ls -d /usr/pkg/lib 2>/dev/null` \ ++ `ls -d /usr/share/tcltk/tcl8.6 2>/dev/null` \ + `ls -d /usr/lib/tk8.6 2>/dev/null` \ `ls -d /usr/lib 2>/dev/null` \ `ls -d /usr/lib64 2>/dev/null` \ - ; do - if test -f "$i/tkConfig.sh" ; then diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/fix-xft.diff b/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/fix-xft.diff index d1bb7105..4aa5d6b8 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/fix-xft.diff +++ b/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/fix-xft.diff @@ -8,8 +8,8 @@ - XFT_LIBS=`xft-config --libs 2>/dev/null` || found_xft="no" - if test "$found_xft" = "no" ; then found_xft=yes - XFT_CFLAGS=`pkg-config --cflags xft 2>/dev/null` || found_xft="no" - XFT_LIBS=`pkg-config --libs xft 2>/dev/null` || found_xft="no" + XFT_CFLAGS=`pkg-config --cflags xft fontconfig 2>/dev/null` || found_xft="no" + XFT_LIBS=`pkg-config --libs xft fontconfig 2>/dev/null` || found_xft="no" - fi AC_MSG_RESULT([$found_xft]) dnl make sure that compiling against Xft header file doesn't bomb diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/non-linux.diff b/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/non-linux.diff deleted file mode 100644 index 7d31f9fd..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/non-linux.diff +++ /dev/null @@ -1,27 +0,0 @@ -Patch by Sergei Golovan (originally by Mike Markley and Chris Waters) fixes -building on non-linux Debian architectures. - ---- tk8.5-8.5.8.orig/unix/configure -+++ tk8.5-8.5.8/unix/configure -@@ -4447,6 +4447,9 @@ - if test "`uname -s`" = "AIX" ; then - tcl_cv_sys_version=AIX-`uname -v`.`uname -r` - fi -+ if test "`uname -s`" = "NetBSD" -a -f /etc/debian_version ; then -+ tcl_cv_sys_version=NetBSD-Debian -+ fi - fi - fi - ---- tk8.5-8.5.8.orig/unix/tcl.m4 -+++ tk8.5-8.5.8/unix/tcl.m4 -@@ -962,6 +962,9 @@ - if test "`uname -s`" = "AIX" ; then - tcl_cv_sys_version=AIX-`uname -v`.`uname -r` - fi -+ if test "`uname -s`" = "NetBSD" -a -f /etc/debian_version ; then -+ tcl_cv_sys_version=NetBSD-Debian -+ fi - fi - fi - ]) diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/tklibrary.diff b/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/tklibrary.diff deleted file mode 100644 index ee38c2a1..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/tklibrary.diff +++ /dev/null @@ -1,22 +0,0 @@ ---- tk8.5-8.5.8.orig/unix/configure -+++ tk8.5-8.5.8/unix/configure -@@ -11070,7 +11070,7 @@ - TCL_STUB_FLAGS="-DUSE_TCL_STUBS" - fi - --TK_LIBRARY='$(prefix)/lib/tk$(VERSION)' -+test -z "$TK_LIBRARY" && TK_LIBRARY='$(prefix)/lib/tk$(VERSION)' - PRIVATE_INCLUDE_DIR='$(includedir)' - HTML_DIR='$(DISTDIR)/html' - TK_PKG_DIR='tk$(VERSION)' ---- tk8.5-8.5.8.orig/unix/configure.in -+++ tk8.5-8.5.8/unix/configure.in -@@ -607,7 +607,7 @@ - TCL_STUB_FLAGS="-DUSE_TCL_STUBS" - fi - --TK_LIBRARY='$(prefix)/lib/tk$(VERSION)' -+test -z "$TK_LIBRARY" && TK_LIBRARY='$(prefix)/lib/tk$(VERSION)' - PRIVATE_INCLUDE_DIR='$(includedir)' - HTML_DIR='$(DISTDIR)/html' - TK_PKG_DIR='tk$(VERSION)' diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.10.bb b/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.10.bb new file mode 100644 index 00000000..b564e126 --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.10.bb @@ -0,0 +1,93 @@ +SUMMARY = "Tool Command Language ToolKit Extension" +HOMEPAGE = "http://tcl.sourceforge.net" +SECTION = "devel/tcltk" + +# http://www.tcl.tk/software/tcltk/license.html +LICENSE = "tcl" +LIC_FILES_CHKSUM = "file://${S}/../license.terms;md5=c88f99decec11afa967ad33d314f87fe \ + file://${S}/../compat/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ + file://${S}/../doc/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ + file://${S}/../library/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ + file://${S}/../macosx/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ + file://${S}/../tests/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ + file://${S}/../unix/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ + file://${S}/../win/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ + file://${S}/../xlib/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ +" + +DEPENDS = "tcl virtual/libx11 libxt" + +SRC_URI = "\ + ${SOURCEFORGE_MIRROR}/tcl/${BPN}${PV}-src.tar.gz \ + file://confsearch.diff;striplevel=2 \ + file://tkprivate.diff;striplevel=2 \ + file://fix-xft.diff \ +" +SRC_URI[md5sum] = "602a47ad9ecac7bf655ada729d140a94" +SRC_URI[sha256sum] = "63df418a859d0a463347f95ded5cd88a3dd3aaa1ceecaeee362194bc30f3e386" + +S = "${WORKDIR}/${BPN}${PV}/unix" + +# Short version format: "8.6" +VER = "${@os.path.splitext(d.getVar('PV'))[0]}" + +LDFLAGS += "-Wl,-rpath,${libdir}/tcltk/${PV}/lib" +inherit autotools features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + +EXTRA_OECONF = "\ + --enable-threads \ + --with-x \ + --with-tcl=${STAGING_BINDIR}/crossscripts \ + --libdir=${libdir} \ +" +export TK_LIBRARY='${libdir}/tk${VER}' +do_install_append() { + ln -sf libtk${VER}.so ${D}${libdir}/libtk${VER}.so.0 + oe_libinstall -so libtk${VER} ${D}${libdir} + ln -sf wish${VER} ${D}${bindir}/wish + + sed -i "s;-L${B};-L${STAGING_LIBDIR};g" tkConfig.sh + sed -i "s;'${WORKDIR};'${STAGING_INCDIR};g" tkConfig.sh + install -d ${D}${bindir_crossscripts} + install -m 0755 tkConfig.sh ${D}${bindir_crossscripts} +} + +PACKAGECONFIG ??= "xft" +PACKAGECONFIG[xft] = "--enable-xft,--disable-xft,xft" +PACKAGECONFIG[xss] = "--enable-xss,--disable-xss,libxscrnsaver libxext" + +PACKAGES =+ "${PN}-lib" + +FILES_${PN}-lib = "${libdir}/libtk${VER}.so*" +FILES_${PN} += "${libdir}/tk*" + +# isn't getting picked up by shlibs code +RDEPENDS_${PN} += "tk-lib" +RDEPENDS_${PN}_class-native = "" + +BBCLASSEXTEND = "native nativesdk" + +# Fix the path in sstate +SSTATE_SCAN_FILES += "*Config.sh" + +inherit binconfig + +SYSROOT_DIRS += "${bindir_crossscripts}" + +# Fix some paths that might be used by Tcl extensions +BINCONFIG_GLOB = "*Config.sh" + +# Cleanup host path from ${libdir}/tclConfig.sh and remove the +# ${bindir_crossscripts}/tclConfig.sh from target +PACKAGE_PREPROCESS_FUNCS += "tcl_package_preprocess" +tcl_package_preprocess() { + sed -i -e "s;${DEBUG_PREFIX_MAP};;g" \ + -e "s;-L${STAGING_LIBDIR};-L${libdir};g" \ + -e "s;${STAGING_INCDIR};${includedir};g" \ + -e "s;--sysroot=${RECIPE_SYSROOT};;g" \ + ${PKGD}${libdir}/tkConfig.sh + + rm -f ${PKGD}${bindir_crossscripts}/tkConfig.sh +} diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.8.bb b/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.8.bb deleted file mode 100644 index 4e38525c..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.8.bb +++ /dev/null @@ -1,71 +0,0 @@ -SUMMARY = "Tool Command Language ToolKit Extension" -HOMEPAGE = "http://tcl.sourceforge.net" -SECTION = "devel/tcltk" - -# http://www.tcl.tk/software/tcltk/license.html -LICENSE = "tcl" -LIC_FILES_CHKSUM = "file://../license.terms;md5=c88f99decec11afa967ad33d314f87fe \ - file://../compat/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ - file://../doc/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ - file://../library/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ - file://../macosx/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ - file://../tests/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ - file://../unix/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ - file://../win/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ - file://../xlib/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ -" - -DEPENDS = "tcl virtual/libx11 libxt" - -SRC_URI = "\ - ${SOURCEFORGE_MIRROR}/tcl/${BPN}${PV}-src.tar.gz \ - file://confsearch.diff;striplevel=2 \ - file://non-linux.diff;striplevel=2 \ - file://tklibrary.diff;striplevel=2 \ - file://tkprivate.diff;striplevel=2 \ - file://fix-xft.diff \ - file://configure.use.fontconfig.with.xft.patch \ -" -SRC_URI[md5sum] = "5e0faecba458ee1386078fb228d008ba" -SRC_URI[sha256sum] = "49e7bca08dde95195a27f594f7c850b088be357a7c7096e44e1158c7a5fd7b33" - -S = "${WORKDIR}/${BPN}${PV}/unix" - -# Short version format: "8.6" -VER = "${@os.path.splitext(d.getVar('PV'))[0]}" - -LDFLAGS += "-Wl,-rpath,${libdir}/tcltk/${PV}/lib" -inherit autotools distro_features_check -# depends on virtual/libx11 -REQUIRED_DISTRO_FEATURES = "x11" - -EXTRA_OECONF = "\ - --enable-threads \ - --with-x \ - --with-tcl=${STAGING_BINDIR}/crossscripts \ - --libdir=${libdir} \ -" -export TK_LIBRARY='${libdir}/tk${VER}' -do_install_append() { - ln -sf libtk${VER}.so ${D}${libdir}/libtk${VER}.so.0 - oe_libinstall -so libtk${VER} ${D}${libdir} - ln -sf wish${VER} ${D}${bindir}/wish -} - -PACKAGECONFIG ??= "xft" -PACKAGECONFIG[xft] = "--enable-xft,--disable-xft,xft" -PACKAGECONFIG[xss] = "--enable-xss,--disable-xss,libxscrnsaver libxext" - -PACKAGES =+ "${PN}-lib" - -FILES_${PN}-lib = "${libdir}/libtk${VER}.so*" -FILES_${PN} += "${libdir}/tk*" - -# isn't getting picked up by shlibs code -RDEPENDS_${PN} += "tk-lib" -RDEPENDS_${PN}_class-native = "" - -BBCLASSEXTEND = "native nativesdk" - -# Fix the path in sstate -SSTATE_SCAN_FILES += "*Config.sh" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace/0001-include-dlfcn.h-for-RTLD_DEFAULT.patch b/external/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace/0001-include-dlfcn.h-for-RTLD_DEFAULT.patch deleted file mode 100644 index fe7aac93..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace/0001-include-dlfcn.h-for-RTLD_DEFAULT.patch +++ /dev/null @@ -1,39 +0,0 @@ -From cdf7f2e394fcfb93a61f509ae3388f29540a6b35 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Sat, 8 Sep 2018 11:56:13 -0700 -Subject: [PATCH] include dlfcn.h for RTLD_DEFAULT - -Fixes -plthook.c:128:41: error: use of undeclared identifier 'RTLD_DEFAULT' - -Upstream-Status: Submitted [https://github.com/namhyung/uftrace/pull/487] -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - libmcount/plthook.c | 1 + - utils/debug.c | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/libmcount/plthook.c b/libmcount/plthook.c -index d9d84f0..d54f5e8 100644 ---- a/libmcount/plthook.c -+++ b/libmcount/plthook.c -@@ -6,6 +6,7 @@ - #include <sys/mman.h> - #include <pthread.h> - #include <assert.h> -+#include <dlfcn.h> - - /* This should be defined before #include "utils.h" */ - #define PR_FMT "mcount" -diff --git a/utils/debug.c b/utils/debug.c -index 2134b09..5460def 100644 ---- a/utils/debug.c -+++ b/utils/debug.c -@@ -13,6 +13,7 @@ - #include <assert.h> - #include <limits.h> - #include <inttypes.h> -+#include <dlfcn.h> - - #include "utils/utils.h" - diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.8.3.bb b/external/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.9.4.bb index ca38e6aa..c33fa048 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.8.3.bb +++ b/external/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.9.4.bb @@ -10,10 +10,9 @@ DEPENDS_append_libc-musl = " argp-standalone" inherit autotools -# v0.8.3 -SRCREV = "8b723a6fae2ef30495cd6279774fba9c95cd9c88" +# v0.9.4 +SRCREV = "d648bbffedef529220896283fb59e35531c13804" SRC_URI = "git://github.com/namhyung/${BPN} \ - file://0001-include-dlfcn.h-for-RTLD_DEFAULT.patch \ " S = "${WORKDIR}/git" @@ -21,9 +20,11 @@ LDFLAGS_append_libc-musl = " -largp" def set_target_arch(d): import re - arch = d.getVar('TARGET_ARCH', True) + arch = d.getVar('TARGET_ARCH') if re.match(r'i.86', arch, re.I): return 'i386' + elif re.match('armeb', arch, re.I): + return 'arm' else: return arch diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-fix-compile-failure-against-musl-C-library.patch b/external/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-fix-compile-failure-against-musl-C-library.patch deleted file mode 100644 index 234d696f..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-fix-compile-failure-against-musl-C-library.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 950b27f8320b841490cafcb3e6e3b818c7174c0d Mon Sep 17 00:00:00 2001 -From: Hongxu Jia <hongxu.jia@windriver.com> -Date: Thu, 20 Jul 2017 22:32:50 -0400 -Subject: [PATCH] fix compile failure against musl C library - -Upstream-Status: Pending - -Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> ---- - test/cpp/server_abyss.cpp | 2 +- - tools/xmlrpc_pstream/xmlrpc_pstream.cpp | 10 +++++++--- - 2 files changed, 8 insertions(+), 4 deletions(-) - -diff --git a/test/cpp/server_abyss.cpp b/test/cpp/server_abyss.cpp -index 2458a8f..82f91da 100644 ---- a/test/cpp/server_abyss.cpp -+++ b/test/cpp/server_abyss.cpp -@@ -18,7 +18,7 @@ - #ifdef WIN32 - #include <winsock2.h> - #else -- #include <sys/unistd.h> -+ #include <unistd.h> - #include <sys/socket.h> - #include <arpa/inet.h> - #include <netinet/in.h> -diff --git a/tools/xmlrpc_pstream/xmlrpc_pstream.cpp b/tools/xmlrpc_pstream/xmlrpc_pstream.cpp -index d39e105..1fd8900 100644 ---- a/tools/xmlrpc_pstream/xmlrpc_pstream.cpp -+++ b/tools/xmlrpc_pstream/xmlrpc_pstream.cpp -@@ -15,11 +15,15 @@ - #include "xmlrpc-c/girerr.hpp" - using girerr::throwf; - --#include <features.h> // for __BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - --__BEGIN_DECLS - #include "dumpvalue.h" /* An internal Xmlrpc-c header file ! */ --__END_DECLS -+ -+#ifdef __cplusplus -+} -+#endif - - - #include <xmlrpc-c/base.hpp> --- -2.8.1 - diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-test-cpp-server_abyss-Fix-build-with-clang-libc.patch b/external/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-test-cpp-server_abyss-Fix-build-with-clang-libc.patch new file mode 100644 index 00000000..be83b016 --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-test-cpp-server_abyss-Fix-build-with-clang-libc.patch @@ -0,0 +1,27 @@ +From dba3c5bf34ed530fd41ed50968825af2158f142e Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 29 Jan 2019 13:31:39 -0800 +Subject: [PATCH] test/cpp/server_abyss: Fix build with clang/libc++ + +/mnt/a/yoe/workspace/sources/xmlrpc-c/test/cpp/server_abyss.cpp:87:14: error: assigning to 'int' from incompatible type '__bind<int +&, sockaddr *, unsigned int>' + rc = bind(this->fd, (struct sockaddr *)&sockAddr, sizeof(sockAddr)); + ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + test/cpp/server_abyss.cpp | 56 +++++++++++++++++++-------------------- + 1 file changed, 28 insertions(+), 28 deletions(-) + +--- a/test/cpp/server_abyss.cpp ++++ b/test/cpp/server_abyss.cpp +@@ -85,7 +85,7 @@ public: + sockAddr.sin_port = htons(portNumber); + sockAddr.sin_addr.s_addr = 0; + +- rc = bind(this->fd, (struct sockaddr *)&sockAddr, sizeof(sockAddr)); ++ rc = ::bind(this->fd, (struct sockaddr *)&sockAddr, sizeof(sockAddr)); + + if (rc != 0) { + closesock(this->fd); diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.31.0.bb b/external/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.31.0.bb deleted file mode 100644 index efa58f19..00000000 --- a/external/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.31.0.bb +++ /dev/null @@ -1,24 +0,0 @@ -DESCRIPTION = "XML-RPC for C/C++ is programming libraries and related tools to help you \ -write an XML-RPC server or client in C or C++." - -HOMEPAGE = "http://xmlrpc-c.sourceforge.net/" -LICENSE = "BSD & MIT" -LIC_FILES_CHKSUM = "file://doc/COPYING;md5=aefbf81ba0750f02176b6f86752ea951" - -SRC_URI = "git://github.com/ensc/xmlrpc-c.git;branch=master \ - file://0001-fix-compile-failure-against-musl-C-library.patch \ - file://0002-fix-formatting-issues.patch \ -" -SRCREV = "81443a9dc234cc275449dbc17867ad77ae189124" -S = "${WORKDIR}/git" - -DEPENDS = "curl libxml2" -RDEPENDS_${PN} = "curl perl" - -inherit cmake - -EXTRA_OECMAKE = "-D_lib:STRING=${baselib}" - -BBCLASSEXTEND = "native" - -TARGET_CFLAGS += "-Wno-narrowing" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.51.03.bb b/external/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.51.03.bb new file mode 100644 index 00000000..6c31b698 --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.51.03.bb @@ -0,0 +1,48 @@ +DESCRIPTION = "XML-RPC for C/C++ is programming libraries and related tools to help you \ +write an XML-RPC server or client in C or C++." + +HOMEPAGE = "http://xmlrpc-c.sourceforge.net/" +LICENSE = "BSD & MIT" +LIC_FILES_CHKSUM = "file://doc/COPYING;md5=aefbf81ba0750f02176b6f86752ea951" + +SRC_URI = "git://github.com/mirror/xmlrpc-c.git \ + file://0001-test-cpp-server_abyss-Fix-build-with-clang-libc.patch \ + file://0002-fix-formatting-issues.patch \ + " +#Release 1.51.03 +SRCREV = "343a3b98e54999d67edb644bcd395aa9784fb16e" + +S = "${WORKDIR}/git/stable" + +DEPENDS = "libxml2" + +inherit autotools-brokensep binconfig pkgconfig + +TARGET_CFLAGS += "-Wno-narrowing" + +EXTRA_OEMAKE += "CC_FOR_BUILD='${BUILD_CC}' \ + LD_FOR_BUILD='${BUILD_LD}' \ + CFLAGS_FOR_BUILD='${BUILD_CFLAGS}' \ + LDFLAGS_FOR_BUILD='${BUILD_LDFLAGS}' \ + " + +EXTRA_OECONF += "--disable-libwww-client --disable-wininet-client" + +PACKAGECONFIG ??= "curl cplusplus" + +PACKAGECONFIG[abyss] = "--enable-abyss-server --enable-abyss-threads --enable-abyss-openssl,--disable-abyss-server --disable-abyss-threads --disable-abyss-openssl,openssl," +PACKAGECONFIG[cplusplus] = "--enable-cplusplus,--disable-cplusplus,," +PACKAGECONFIG[curl] = "--enable-curl-client,--disable-curl-client,curl,curl" + +do_configure() { + install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S} + install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S} + autoconf + oe_runconf + # license is incompatible with lib/util/getoptx.* + rm -fv ${S}/tools/turbocharger/mod_gzip.c +} + +BBCLASSEXTEND = "native" + +CLEANBROKEN = "1" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/yajl/yajl_1.0.12.bb b/external/meta-openembedded/meta-oe/recipes-devtools/yajl/yajl_1.0.12.bb index 8ced7b84..e112a5e3 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/yajl/yajl_1.0.12.bb +++ b/external/meta-openembedded/meta-oe/recipes-devtools/yajl/yajl_1.0.12.bb @@ -17,3 +17,5 @@ inherit cmake lib_package S = "${WORKDIR}/git" EXTRA_OECMAKE = "-DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')}" + +UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>1(\.\d+)+)" diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/yasm/yasm_git.bb b/external/meta-openembedded/meta-oe/recipes-devtools/yasm/yasm_git.bb index b20d4c05..53856263 100644 --- a/external/meta-openembedded/meta-oe/recipes-devtools/yasm/yasm_git.bb +++ b/external/meta-openembedded/meta-oe/recipes-devtools/yasm/yasm_git.bb @@ -1,5 +1,5 @@ SUMMARY = "x86 (SSE) assembler supporting NASM and GAS-syntaxes" -LICENSE = "BSD" +LICENSE = "MIT" HOMEPAGE = "http://www.tortall.net/projects/yasm/" LIC_FILES_CHKSUM = "file://COPYING;md5=a12d8903508fb6bfd49d8d82c6170dd9" @@ -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}'" |