summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-devtools
diff options
context:
space:
mode:
Diffstat (limited to 'meta-oe/recipes-devtools')
-rw-r--r--meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-absl-always-use-asm-sgidefs.h.patch7
-rw-r--r--meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0002-Remove-maes-option-from-cross-compilation.patch39
-rw-r--r--meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0002-abseil-ppc-fixes.patch (renamed from meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/abseil-ppc-fixes.patch)43
-rw-r--r--meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0003-Remove-neon-option-from-cross-compilation.patch49
-rw-r--r--meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_20250512.1.bb (renamed from meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_20240116.2.bb)15
-rw-r--r--meta-oe/recipes-devtools/aer-inject/aer-inject_1.0.bb1
-rw-r--r--meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs_1.0.bb15
-rw-r--r--meta-oe/recipes-devtools/android-tools/android-tools-conf_1.0.bb4
-rw-r--r--meta-oe/recipes-devtools/android-tools/android-tools/android-tools-adbd.service2
-rw-r--r--meta-oe/recipes-devtools/android-tools/android-tools/core/adb_libssl_11.diff11
-rw-r--r--meta-oe/recipes-devtools/android-tools/android-tools/extras/0003-ext4_utils-drop-unused-parameter-from-allocate_inode.patch69
-rw-r--r--meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb24
-rw-r--r--meta-oe/recipes-devtools/apitrace/apitrace/0001-Explicit-header-stdint.patch42
-rw-r--r--meta-oe/recipes-devtools/apitrace/apitrace_11.1.bb2
-rw-r--r--meta-oe/recipes-devtools/autoconf-2.13/autoconf-2.13-native_2.13.bb67
-rw-r--r--meta-oe/recipes-devtools/autoconf-2.13/autoconf-2.13/0001-Add-config.guess-config.sub-install-to-destdir.patch67
-rw-r--r--meta-oe/recipes-devtools/b4/b4_0.14.2.bb13
-rw-r--r--meta-oe/recipes-devtools/breakpad/breakpad_2023.06.01.bb7
-rw-r--r--meta-oe/recipes-devtools/capnproto/capnproto/0001-Export-binaries-only-for-native-build.patch53
-rw-r--r--meta-oe/recipes-devtools/capnproto/capnproto_1.0.2.bb7
-rw-r--r--meta-oe/recipes-devtools/cbindgen/cbindgen/0001-Define-more-ioctl-codes-on-riscv32gc-unknown-linux-g.patch38
-rw-r--r--meta-oe/recipes-devtools/cbindgen/cbindgen_0.28.0.bb148
-rw-r--r--meta-oe/recipes-devtools/cgdb/cgdb_0.8.0.bb2
-rw-r--r--meta-oe/recipes-devtools/cjson/cjson_1.7.18.bb (renamed from meta-oe/recipes-devtools/cjson/cjson_1.7.17.bb)8
-rw-r--r--meta-oe/recipes-devtools/cloc/cloc_1.98.bb3
-rw-r--r--meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb1
-rw-r--r--meta-oe/recipes-devtools/cppgenerate/cppgenerate_0.3.bb13
-rw-r--r--meta-oe/recipes-devtools/cpuid/cpuid_20230614.bb6
-rw-r--r--meta-oe/recipes-devtools/cpuset/cpuset_1.6.2.bb12
-rw-r--r--meta-oe/recipes-devtools/cscope/cscope_15.9.bb1
-rw-r--r--meta-oe/recipes-devtools/ctags/ctags_6.2.20250615.0.bb (renamed from meta-oe/recipes-devtools/ctags/ctags_6.1.20240310.0.bb)5
-rw-r--r--meta-oe/recipes-devtools/debootstrap/debootstrap/0001-support-to-override-usr-sbin-and-usr-share.patch18
-rw-r--r--meta-oe/recipes-devtools/debootstrap/debootstrap/0002-support-to-override-usr-bin-arch-test.patch13
-rw-r--r--meta-oe/recipes-devtools/debootstrap/debootstrap/0003-do-not-hardcode-the-full-path-of-dpkg.patch (renamed from meta-oe/recipes-devtools/debootstrap/debootstrap/0001-do-not-hardcode-the-full-path-of-dpkg.patch)9
-rw-r--r--meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.141.bb (renamed from meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.132.bb)8
-rw-r--r--meta-oe/recipes-devtools/dmalloc/dmalloc_5.5.2.bb1
-rw-r--r--meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_1.4.bb3
-rw-r--r--meta-oe/recipes-devtools/doxygen/doxygen/0001-build-don-t-look-for-Iconv.patch37
-rw-r--r--meta-oe/recipes-devtools/doxygen/doxygen/doxygen-native-only-check-python3.patch232
-rw-r--r--meta-oe/recipes-devtools/doxygen/doxygen_1.14.0.bb (renamed from meta-oe/recipes-devtools/doxygen/doxygen_1.9.3.bb)14
-rw-r--r--meta-oe/recipes-devtools/editorconfig/editorconfig-core-c_0.12.9.bb (renamed from meta-oe/recipes-devtools/editorconfig/editorconfig-core-c_0.12.6.bb)5
-rw-r--r--meta-oe/recipes-devtools/exprtk/exprtk_git.bb5
-rw-r--r--meta-oe/recipes-devtools/extract-cert/extract-cert_0.3.bb1
-rw-r--r--meta-oe/recipes-devtools/flatbuffers/flatbuffers.bb6
-rw-r--r--meta-oe/recipes-devtools/flatbuffers/flatbuffers.inc4
-rw-r--r--meta-oe/recipes-devtools/flatbuffers/python3-flatbuffers.bb4
-rw-r--r--meta-oe/recipes-devtools/flatcc/flatcc_git.bb1
-rw-r--r--meta-oe/recipes-devtools/geany/geany-plugins/0001-projectorganizer-fix-invalid-string-comparison.patch24
-rw-r--r--meta-oe/recipes-devtools/geany/geany-plugins/0002-projectorganizer-fix-various-warnings.patch45
-rw-r--r--meta-oe/recipes-devtools/geany/geany-plugins/0003-projectorganizer-Use-g_pattern_spec_match_string-ins.patch89
-rw-r--r--meta-oe/recipes-devtools/geany/geany-plugins/geany-plugins-2.0-gcc15.patch30
-rw-r--r--meta-oe/recipes-devtools/geany/geany-plugins_2.0.bb (renamed from meta-oe/recipes-devtools/geany/geany-plugins_1.38.bb)16
-rw-r--r--meta-oe/recipes-devtools/geany/geany/0001-configure-Upgrade-to-a-modern-Gettext.patch11
-rw-r--r--meta-oe/recipes-devtools/geany/geany/geany-2.0-gcc15.patch146
-rw-r--r--meta-oe/recipes-devtools/geany/geany_2.0.bb (renamed from meta-oe/recipes-devtools/geany/geany_1.38.bb)3
-rw-r--r--meta-oe/recipes-devtools/giflib/giflib/0001-Makefile-fix-typo-in-soname-argument.patch34
-rw-r--r--meta-oe/recipes-devtools/giflib/giflib_5.2.2.bb (renamed from meta-oe/recipes-devtools/giflib/giflib_5.2.1.bb)9
-rw-r--r--meta-oe/recipes-devtools/glade/glade/CVE-2020-36774.patch54
-rw-r--r--meta-oe/recipes-devtools/glade/glade_3.36.0.bb (renamed from meta-oe/recipes-devtools/glade/glade_3.22.2.bb)23
-rw-r--r--meta-oe/recipes-devtools/grpc/grpc_1.71.0.bb (renamed from meta-oe/recipes-devtools/grpc/grpc_1.60.1.bb)21
-rw-r--r--meta-oe/recipes-devtools/guider/guider_3.9.9.bb (renamed from meta-oe/recipes-devtools/guider/guider_3.9.8.bb)9
-rw-r--r--meta-oe/recipes-devtools/heaptrack/heaptrack_1.2.0.bb31
-rw-r--r--meta-oe/recipes-devtools/icon-slicer/files/hotspotfix.patch27
-rw-r--r--meta-oe/recipes-devtools/icon-slicer/icon-slicer_0.3.bb11
-rw-r--r--meta-oe/recipes-devtools/iptraf/iptraf-ng_1.2.1.bb2
-rw-r--r--meta-oe/recipes-devtools/jemalloc/jemalloc_5.3.0.bb5
-rw-r--r--meta-oe/recipes-devtools/jq/jq_1.8.0.bb (renamed from meta-oe/recipes-devtools/jq/jq_1.7.1.bb)6
-rw-r--r--meta-oe/recipes-devtools/json-schema-validator/json-schema-validator_2.2.0.bb3
-rw-r--r--meta-oe/recipes-devtools/json-spirit/json-spirit_4.08.bb2
-rw-r--r--meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.6.bb (renamed from meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.5.bb)5
-rw-r--r--meta-oe/recipes-devtools/jsonrpc/jsonrpc_1.4.1.bb5
-rw-r--r--meta-oe/recipes-devtools/jwt-cpp/jwt-cpp_0.7.1.bb (renamed from meta-oe/recipes-devtools/jwt-cpp/jwt-cpp_0.7.0.bb)3
-rw-r--r--meta-oe/recipes-devtools/kconfig-frontends/kconfig-frontends_4.11.0.1.bb4
-rw-r--r--meta-oe/recipes-devtools/lapack/lapack_3.12.0.bb59
-rw-r--r--meta-oe/recipes-devtools/lapack/lapack_3.12.1.bb105
-rw-r--r--meta-oe/recipes-devtools/ldns/ldns_1.8.4.bb (renamed from meta-oe/recipes-devtools/ldns/ldns_1.8.3.bb)5
-rw-r--r--meta-oe/recipes-devtools/lemon/lemon_3.44.2.bb1
-rw-r--r--meta-oe/recipes-devtools/libabigail/libabigail/0001-Check-for-correct-fts-module.patch91
-rw-r--r--meta-oe/recipes-devtools/libabigail/libabigail_2.5.bb17
-rw-r--r--meta-oe/recipes-devtools/libgee/libgee_0.20.6.bb21
-rw-r--r--meta-oe/recipes-devtools/libgee/libgee_0.20.8.bb58
-rw-r--r--meta-oe/recipes-devtools/libsombok3/libsombok3_2.4.0.bb1
-rw-r--r--meta-oe/recipes-devtools/libtoml11/files/0001-Remove-whitespace-in-operator.patch46
-rwxr-xr-xmeta-oe/recipes-devtools/libtoml11/files/run-ptest12
-rw-r--r--meta-oe/recipes-devtools/libtoml11/libtoml11_4.4.0.bb38
-rw-r--r--meta-oe/recipes-devtools/libubox/libubox_git.bb4
-rw-r--r--meta-oe/recipes-devtools/lshw/lshw_02.20.bb1
-rw-r--r--meta-oe/recipes-devtools/ltrace/ltrace/0001-ARM-code-has-unreachable-code-after-switch-statement.patch42
-rw-r--r--meta-oe/recipes-devtools/ltrace/ltrace/0001-Fix-tautological-compare-warning.patch261
-rw-r--r--meta-oe/recipes-devtools/ltrace/ltrace/0001-ensure-the-struct-pointers-are-null-initilized.patch46
-rw-r--r--meta-oe/recipes-devtools/ltrace/ltrace/0001-ppc-plt-do-not-free-symbol-libsym.patch29
-rw-r--r--meta-oe/recipes-devtools/ltrace/ltrace/0001-proc-Make-PROC_PID_FILE-not-use-variable-length-arra.patch34
-rw-r--r--meta-oe/recipes-devtools/ltrace/ltrace/0001-replace-readdir_r-with-readdir.patch36
-rw-r--r--meta-oe/recipes-devtools/ltrace/ltrace_git.bb13
-rw-r--r--meta-oe/recipes-devtools/luajit/luajit/clang.patch19
-rw-r--r--meta-oe/recipes-devtools/luajit/luajit_git.bb7
-rw-r--r--meta-oe/recipes-devtools/luaposix/luaposix_36.2.1.bb3
-rw-r--r--meta-oe/recipes-devtools/makeself/makeself_2.5.0.bb1
-rw-r--r--meta-oe/recipes-devtools/mbpoll/mbpoll_1.5.2.bb1
-rw-r--r--meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb11
-rw-r--r--meta-oe/recipes-devtools/memstat/memstat_1.0.bb3
-rw-r--r--meta-oe/recipes-devtools/memtool/memtool/run-ptest27
-rw-r--r--meta-oe/recipes-devtools/memtool/memtool/test_read_write_plainfiles.sh69
-rw-r--r--meta-oe/recipes-devtools/memtool/memtool_2018.03.0.bb31
-rw-r--r--meta-oe/recipes-devtools/mercurial/mercurial_6.6.3.bb (renamed from meta-oe/recipes-devtools/mercurial/mercurial_6.5.bb)7
-rw-r--r--meta-oe/recipes-devtools/microcom/microcom_2023.09.0.bb3
-rw-r--r--meta-oe/recipes-devtools/microsoft-gsl/microsoft-gsl_4.0.0.bb6
-rw-r--r--meta-oe/recipes-devtools/mpich/mpich_4.3.0.bb (renamed from meta-oe/recipes-devtools/mpich/mpich_4.2.1.bb)4
-rw-r--r--meta-oe/recipes-devtools/msgpack/msgpack-c_6.0.0.bb1
-rw-r--r--meta-oe/recipes-devtools/msgpack/msgpack-cpp_6.1.1.bb (renamed from meta-oe/recipes-devtools/msgpack/msgpack-cpp_6.1.0.bb)7
-rw-r--r--meta-oe/recipes-devtools/msr-tools/msr-tools_1.3.bb3
-rw-r--r--meta-oe/recipes-devtools/musl/musl-nscd_git.bb1
-rw-r--r--meta-oe/recipes-devtools/nlohmann-fifo/nlohmann-fifo_git.bb1
-rwxr-xr-xmeta-oe/recipes-devtools/nlohmann-json/files/run-ptest6
-rw-r--r--meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.12.0.bb (renamed from meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.3.bb)11
-rwxr-xr-xmeta-oe/recipes-devtools/nodejs/nodejs-oe-cache-22.16/oe-npm-cache (renamed from meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-20.12/oe-npm-cache)0
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-native_22.16.bb (renamed from meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-native_20.12.bb)4
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch15
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs/0001-Do-not-use-glob-in-deps.patch22
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs/0001-build-fix-build-with-Python-3.12.patch55
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs/0001-custom-env.patch18
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs/0001-deps-disable-io_uring-support-in-libuv.patch60
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs/0001-gyp-resolve-python-3.12-issues.patch63
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs/0001-liftoff-Correct-function-signatures.patch38
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs/0001-positional-args.patch19
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs/0004-v8-don-t-override-ARM-CFLAGS.patch11
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs/libatomic.patch86
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs/system-c-ares.patch12
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs_22.16.0.bb (renamed from meta-oe/recipes-devtools/nodejs/nodejs_20.12.2.bb)92
-rw-r--r--meta-oe/recipes-devtools/openocd/openocd/0001-Makefile.am-Use-SOURCE_DATE_EPOCH-environment-variab.patch38
-rw-r--r--meta-oe/recipes-devtools/openocd/openocd_git.bb6
-rw-r--r--meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb4
-rw-r--r--meta-oe/recipes-devtools/pahole/files/0001-Use-usr-bin-env-python3-instead-of-just-usr-bin-pyth.patch (renamed from meta-oe/recipes-devtools/pahole/files/0002-Use-usr-bin-env-python3-instead-of-just-usr-bin-pyth.patch)1
-rw-r--r--meta-oe/recipes-devtools/pahole/pahole_1.29.bb (renamed from meta-oe/recipes-devtools/pahole/pahole_1.25.bb)9
-rw-r--r--meta-oe/recipes-devtools/pax-utils/pax-utils_1.3.3.bb2
-rw-r--r--meta-oe/recipes-devtools/pcimem/pcimem_2.0.bb4
-rw-r--r--meta-oe/recipes-devtools/perfetto/files/0001-Add-missing-header-cstdint-for-uintXX_t-types.patch58
-rw-r--r--meta-oe/recipes-devtools/perfetto/files/0001-fix-musl-build.patch40
-rw-r--r--meta-oe/recipes-devtools/perfetto/libperfetto.bb2
-rw-r--r--meta-oe/recipes-devtools/perfetto/libperfetto/0001-meson-add-pc-file-for-lib_perfetto.patch (renamed from meta-oe/recipes-devtools/perfetto/files/0001-meson-add-pc-file-for-lib_perfetto.patch)20
-rw-r--r--meta-oe/recipes-devtools/perfetto/perfetto.bb57
-rw-r--r--meta-oe/recipes-devtools/perfetto/perfetto.inc10
-rw-r--r--meta-oe/recipes-devtools/perfetto/perfetto/0001-Remove-check_build_deps-build-steps.patch (renamed from meta-oe/recipes-devtools/perfetto/files/0001-Remove-check_build_deps-build-steps.patch)18
-rw-r--r--meta-oe/recipes-devtools/perfetto/perfetto/0001-add-missing-includes-for-the-build-with-use_libcxx_m.patch105
-rw-r--r--meta-oe/recipes-devtools/perfetto/perfetto/0002-traced-fix-missing-include.patch28
-rw-r--r--meta-oe/recipes-devtools/perl/dbd-mariadb_1.24.bb20
-rw-r--r--meta-oe/recipes-devtools/perl/exiftool_12.89.bb (renamed from meta-oe/recipes-devtools/perl/exiftool_12.72.bb)3
-rw-r--r--meta-oe/recipes-devtools/perl/ipc-run_20231003.0.bb1
-rw-r--r--meta-oe/recipes-devtools/perl/libconfig-general-perl_2.67.bb (renamed from meta-oe/recipes-devtools/perl/libconfig-general-perl_2.65.bb)4
-rw-r--r--meta-oe/recipes-devtools/perl/libdbd-mysql-perl_4.050.bb22
-rw-r--r--meta-oe/recipes-devtools/perl/libdbi-perl/CVE-2014-10402.patch56
-rw-r--r--meta-oe/recipes-devtools/perl/libdbi-perl_1.647.bb (renamed from meta-oe/recipes-devtools/perl/libdbi-perl_1.643.bb)13
-rw-r--r--meta-oe/recipes-devtools/perl/libdev-checklib-perl_1.16.bb4
-rw-r--r--meta-oe/recipes-devtools/perl/libio-pty-perl_1.20.bb2
-rw-r--r--meta-oe/recipes-devtools/perl/libjson-perl_4.05000.bb (renamed from meta-oe/recipes-devtools/perl/libjson-perl_4.03000.bb)3
-rw-r--r--meta-oe/recipes-devtools/perl/libparse-yapp-perl_1.21.bb3
-rw-r--r--meta-oe/recipes-devtools/perl/libpcsc-perl_1.4.15.bb (renamed from meta-oe/recipes-devtools/perl/libpcsc-perl_1.4.14.bb)10
-rw-r--r--meta-oe/recipes-devtools/perl/libperlio-gzip-perl_0.20.bb3
-rw-r--r--meta-oe/recipes-devtools/php/php/0001-Change-whether-to-inline-XXH3_hashLong_withSecret-to.patch93
-rw-r--r--meta-oe/recipes-devtools/php/php/0001-configure.ac-don-t-include-build-libtool.m4.patch (renamed from meta-oe/recipes-devtools/php/php/0004-configure.ac-don-t-include-build-libtool.m4.patch)6
-rw-r--r--meta-oe/recipes-devtools/php/php/0001-ext-opcache-config.m4-enable-opcache.patch251
-rw-r--r--meta-oe/recipes-devtools/php/php/0002-build-php.m4-don-t-unset-cache-variables.patch45
-rw-r--r--meta-oe/recipes-devtools/php/php/0002-ext-phar-Makefile.frag-Fix-phar-packaging.patch (renamed from meta-oe/recipes-devtools/php/php/0006-ext-phar-Makefile.frag-Fix-phar-packaging.patch)11
-rw-r--r--meta-oe/recipes-devtools/php/php/0003-iconv-fix-detection.patch (renamed from meta-oe/recipes-devtools/php/php/0010-iconv-fix-detection.patch)22
-rw-r--r--meta-oe/recipes-devtools/php/php/0003-php-remove-host-specific-info-from-header-file.patch36
-rw-r--r--meta-oe/recipes-devtools/php/php/0004-pear-fix-Makefile.frag-for-Yocto.patch (renamed from meta-oe/recipes-devtools/php/php/0005-pear-fix-Makefile.frag-for-Yocto.patch)10
-rw-r--r--meta-oe/recipes-devtools/php/php/0005-sapi-cli-config.m4-fix-build-directory.patch (renamed from meta-oe/recipes-devtools/php/php/0007-sapi-cli-config.m4-fix-build-directory.patch)17
-rw-r--r--meta-oe/recipes-devtools/php/php/0008-ext-imap-config.m4-fix-include-paths.patch45
-rw-r--r--meta-oe/recipes-devtools/php/php/0009-php-don-t-use-broken-wrapper-for-mkdir.patch31
-rw-r--r--meta-oe/recipes-devtools/php/php_8.4.10.bb (renamed from meta-oe/recipes-devtools/php/php_8.2.16.bb)79
-rw-r--r--meta-oe/recipes-devtools/pistache/pistache_0.4.26.bb40
-rw-r--r--meta-oe/recipes-devtools/ply/ply_git.bb5
-rw-r--r--meta-oe/recipes-devtools/pmtools/pmtools/pmtools-switch-to-dynamic-buffer-for-huge-ACPI-table.patch82
-rw-r--r--meta-oe/recipes-devtools/pmtools/pmtools_git.bb34
-rw-r--r--meta-oe/recipes-devtools/pocketpy/pocketpy_2.0.6.bb33
-rw-r--r--meta-oe/recipes-devtools/poke/poke/0001-build-do-not-check-for-Tcl-Tk-if-disable-gui-is-spec.patch45
-rw-r--r--meta-oe/recipes-devtools/poke/poke/0002-jitter-jitter-config.in-avoit-host-poisoning-while-c.patch47
-rw-r--r--meta-oe/recipes-devtools/poke/poke/0003-configure.ac-HELP2MAN-replace-by-true-when-cross-com.patch11
-rw-r--r--meta-oe/recipes-devtools/poke/poke_4.2.bb (renamed from meta-oe/recipes-devtools/poke/poke_1.2.bb)19
-rw-r--r--meta-oe/recipes-devtools/protobuf/protobuf-c/0001-Makefile.am-do-not-compile-the-code-which-was-genera.patch29
-rw-r--r--meta-oe/recipes-devtools/protobuf/protobuf-c/protobuf-30.patch1446
-rw-r--r--meta-oe/recipes-devtools/protobuf/protobuf-c_1.5.1.bb (renamed from meta-oe/recipes-devtools/protobuf/protobuf-c_1.5.0.bb)12
-rw-r--r--meta-oe/recipes-devtools/protobuf/protobuf/0001-Fix-build-on-mips-clang.patch30
-rw-r--r--meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch35
-rw-r--r--meta-oe/recipes-devtools/protobuf/protobuf/0001-fix-protobuf-native-build-failure-with-gcc-10.patch46
-rw-r--r--meta-oe/recipes-devtools/protobuf/protobuf/0001-utf8_range-add-version-marker-to-library-19009.patch43
-rw-r--r--meta-oe/recipes-devtools/protobuf/protobuf_6.31.1.bb (renamed from meta-oe/recipes-devtools/protobuf/protobuf_4.25.3.bb)33
-rw-r--r--meta-oe/recipes-devtools/pstack/files/0001-tests-fix-the-issue-of-cross-compilation-failure.patch28
-rw-r--r--meta-oe/recipes-devtools/pstack/pstack.inc43
-rw-r--r--meta-oe/recipes-devtools/pstack/pstack_2.10.bb31
-rw-r--r--meta-oe/recipes-devtools/pstack/pstack_git.bb8
-rw-r--r--meta-oe/recipes-devtools/pugixml/pugixml_1.15.bb (renamed from meta-oe/recipes-devtools/pugixml/pugixml_1.14.bb)5
-rw-r--r--meta-oe/recipes-devtools/python/python3-apt_2.5.3.bb1
-rw-r--r--meta-oe/recipes-devtools/python/python3-distutils-extra_2.39.bb2
-rw-r--r--meta-oe/recipes-devtools/python/python3-psycopg_3.2.9.bb14
-rw-r--r--meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb1
-rw-r--r--meta-oe/recipes-devtools/serialcheck/serialcheck_1.0.0.bb1
-rw-r--r--meta-oe/recipes-devtools/sexpect/sexpect_2.3.15.bb11
-rw-r--r--meta-oe/recipes-devtools/sip/sip_6.12.0.bb (renamed from meta-oe/recipes-devtools/sip/sip_6.8.3.bb)12
-rw-r--r--meta-oe/recipes-devtools/smemstat/smemstat_0.02.13.bb1
-rw-r--r--meta-oe/recipes-devtools/sqlite-orm/sqlite-orm/0001-fix-cstdint-error-with-gcc-15.0.1.patch52
-rw-r--r--meta-oe/recipes-devtools/sqlite-orm/sqlite-orm_1.5.bb6
-rw-r--r--meta-oe/recipes-devtools/squashfs-tools-ng/squashfs-tools-ng_1.3.2.bb (renamed from meta-oe/recipes-devtools/squashfs-tools-ng/squashfs-tools-ng_1.2.0.bb)5
-rw-r--r--meta-oe/recipes-devtools/ssd1306/ssd1306_git.bb3
-rw-r--r--meta-oe/recipes-devtools/suitesparse/suitesparse/makefile-quoting.patch32
-rw-r--r--meta-oe/recipes-devtools/suitesparse/suitesparse_5.10.1.bb18
-rw-r--r--meta-oe/recipes-devtools/systemd/nativesdk-systemd-systemctl.bb4
-rw-r--r--meta-oe/recipes-devtools/tclap/files/0001-tclap-add-pkg-config-file.patch50
-rw-r--r--meta-oe/recipes-devtools/tclap/tclap_1.4.0.bb7
-rw-r--r--meta-oe/recipes-devtools/tcltk/tk8/confsearch.diff (renamed from meta-oe/recipes-devtools/tcltk/tk/confsearch.diff)3
-rw-r--r--meta-oe/recipes-devtools/tcltk/tk8/fix-xft.diff (renamed from meta-oe/recipes-devtools/tcltk/tk/fix-xft.diff)4
-rw-r--r--meta-oe/recipes-devtools/tcltk/tk8/tkprivate.diff (renamed from meta-oe/recipes-devtools/tcltk/tk/tkprivate.diff)4
-rw-r--r--meta-oe/recipes-devtools/tcltk/tk8_8.6.15.bb (renamed from meta-oe/recipes-devtools/tcltk/tk_8.6.10.bb)46
-rw-r--r--meta-oe/recipes-devtools/tcltk/tk_9.0.1.bb101
-rwxr-xr-xmeta-oe/recipes-devtools/tomlplusplus/files/run-ptest12
-rw-r--r--meta-oe/recipes-devtools/tomlplusplus/tomlplusplus_git.bb24
-rw-r--r--meta-oe/recipes-devtools/uftrace/uftrace_0.17.bb (renamed from meta-oe/recipes-devtools/uftrace/uftrace_0.16.bb)3
-rw-r--r--meta-oe/recipes-devtools/unattended-upgrades/unattended-upgrades_2.9.1.bb1
-rw-r--r--meta-oe/recipes-devtools/uw-imap/uw-imap/CVE-2018-19518.patch24
-rw-r--r--meta-oe/recipes-devtools/uw-imap/uw-imap/uw-imap-fix-incompatible-pointer-types.patch355
-rw-r--r--meta-oe/recipes-devtools/uw-imap/uw-imap/uw-imap-newer-tls.patch29
-rw-r--r--meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb13
-rw-r--r--meta-oe/recipes-devtools/valijson/valijson_1.0.6.bb (renamed from meta-oe/recipes-devtools/valijson/valijson_1.0.2.bb)5
-rw-r--r--meta-oe/recipes-devtools/xerces-c/xerces-c/0001-aclocal.m4-don-t-use-full-path-of-with_curl-in-xerce.patch58
-rw-r--r--meta-oe/recipes-devtools/xerces-c/xerces-c_3.3.0.bb (renamed from meta-oe/recipes-devtools/xerces-c/xerces-c_3.2.5.bb)12
-rw-r--r--meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-fix-bool-reserved-word-error-in-gcc-15.patch50
-rw-r--r--meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-test-cpp-server_abyss-Fix-build-with-clang-libc.patch16
-rw-r--r--meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-unix-common.mk-Ensuring-Sequential-Execution-of-rm-a.patch80
-rw-r--r--meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0002-fix-formatting-issues.patch34
-rw-r--r--meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/no-automake.patch18
-rw-r--r--meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.64.0.bb (renamed from meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.59.01.bb)15
-rw-r--r--meta-oe/recipes-devtools/yajl/yajl_1.0.12.bb1
-rw-r--r--meta-oe/recipes-devtools/yajl/yajl_2.1.0.bb1
-rw-r--r--meta-oe/recipes-devtools/yasm/yasm/0001-Do-not-use-AC_HEADER_STDC.patch39
-rw-r--r--meta-oe/recipes-devtools/yasm/yasm/0001-bitvect-fix-build-with-gcc-15.patch38
-rw-r--r--meta-oe/recipes-devtools/yasm/yasm/CVE-2023-31975.patch29
-rw-r--r--meta-oe/recipes-devtools/yasm/yasm/CVE-2023-37732.patch41
-rw-r--r--meta-oe/recipes-devtools/yasm/yasm_git.bb12
238 files changed, 5167 insertions, 2808 deletions
diff --git a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-absl-always-use-asm-sgidefs.h.patch b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-absl-always-use-asm-sgidefs.h.patch
index 5242b29e06..6fecf25603 100644
--- a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-absl-always-use-asm-sgidefs.h.patch
+++ b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-absl-always-use-asm-sgidefs.h.patch
@@ -1,7 +1,7 @@
1From 738549dea7a4e6c462a79962c414eaa450c2cffd Mon Sep 17 00:00:00 2001 1From 11faa06436fdeb0c9948080a11f9a99d3b5ba16c Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 9 Apr 2020 13:06:27 -0700 3Date: Thu, 9 Apr 2020 13:06:27 -0700
4Subject: [PATCH 1/3] absl: always use <asm/sgidefs.h> 4Subject: [PATCH] absl: always use <asm/sgidefs.h>
5 5
6Fixes mips/musl build, since sgidefs.h is not present on all C libraries 6Fixes mips/musl build, since sgidefs.h is not present on all C libraries
7but on linux asm/sgidefs.h is there and contains same definitions, using 7but on linux asm/sgidefs.h is there and contains same definitions, using
@@ -10,13 +10,12 @@ that makes it portable.
10Upstream-Status: Pending 10Upstream-Status: Pending
11 11
12Signed-off-by: Khem Raj <raj.khem@gmail.com> 12Signed-off-by: Khem Raj <raj.khem@gmail.com>
13
14--- 13---
15 absl/base/internal/direct_mmap.h | 6 +----- 14 absl/base/internal/direct_mmap.h | 6 +-----
16 1 file changed, 1 insertion(+), 5 deletions(-) 15 1 file changed, 1 insertion(+), 5 deletions(-)
17 16
18diff --git a/absl/base/internal/direct_mmap.h b/absl/base/internal/direct_mmap.h 17diff --git a/absl/base/internal/direct_mmap.h b/absl/base/internal/direct_mmap.h
19index e492bb0..c8a4fba 100644 18index 1beb2ee4..140b0697 100644
20--- a/absl/base/internal/direct_mmap.h 19--- a/absl/base/internal/direct_mmap.h
21+++ b/absl/base/internal/direct_mmap.h 20+++ b/absl/base/internal/direct_mmap.h
22@@ -41,13 +41,9 @@ 21@@ -41,13 +41,9 @@
diff --git a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0002-Remove-maes-option-from-cross-compilation.patch b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0002-Remove-maes-option-from-cross-compilation.patch
deleted file mode 100644
index b92a487523..0000000000
--- a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0002-Remove-maes-option-from-cross-compilation.patch
+++ /dev/null
@@ -1,39 +0,0 @@
1From d25cf3b9aa873595a19e197cc29ab46c0093bff1 Mon Sep 17 00:00:00 2001
2From: Sinan Kaya <sinan.kaya@microsoft.com>
3Date: Mon, 3 Feb 2020 03:25:57 +0000
4Subject: [PATCH 2/3] Remove maes option from cross-compilation
5
6---
7Upstream-Status: Pending
8
9 absl/copts/GENERATED_AbseilCopts.cmake | 4 ----
10 absl/copts/GENERATED_copts.bzl | 4 ----
11 2 files changed, 8 deletions(-)
12
13diff --git a/absl/copts/GENERATED_AbseilCopts.cmake b/absl/copts/GENERATED_AbseilCopts.cmake
14index a4ab1aa2041e..23b9253c1f00 100644
15--- a/absl/copts/GENERATED_AbseilCopts.cmake
16+++ b/absl/copts/GENERATED_AbseilCopts.cmake
17@@ -158,7 +158,3 @@ list(APPEND ABSL_RANDOM_HWAES_ARM64_FLAGS
18 list(APPEND ABSL_RANDOM_HWAES_MSVC_X64_FLAGS
19 )
20
21-list(APPEND ABSL_RANDOM_HWAES_X64_FLAGS
22- "-maes"
23- "-msse4.1"
24-)
25diff --git a/absl/copts/GENERATED_copts.bzl b/absl/copts/GENERATED_copts.bzl
26index a6efc98e11d4..1e847f769501 100644
27--- a/absl/copts/GENERATED_copts.bzl
28+++ b/absl/copts/GENERATED_copts.bzl
29@@ -159,7 +159,3 @@ ABSL_RANDOM_HWAES_ARM64_FLAGS = [
30 ABSL_RANDOM_HWAES_MSVC_X64_FLAGS = [
31 ]
32
33-ABSL_RANDOM_HWAES_X64_FLAGS = [
34- "-maes",
35- "-msse4.1",
36-]
37--
382.36.1
39
diff --git a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/abseil-ppc-fixes.patch b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0002-abseil-ppc-fixes.patch
index f2ebd9f08c..a0b99dd206 100644
--- a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/abseil-ppc-fixes.patch
+++ b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0002-abseil-ppc-fixes.patch
@@ -1,4 +1,7 @@
1Upstream-Status: Pending 1From 5891332fecd3bf707b58dda56b4b3f80583b5ef9 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 21 Sep 2024 20:53:06 +0800
4Subject: [PATCH] abseil: ppc fixes
2 5
3An all-in-one patch that fixes several issues: 6An all-in-one patch that fixes several issues:
4 7
@@ -9,14 +12,24 @@ An all-in-one patch that fixes several issues:
9 12
10Sourced from void linux 13Sourced from void linux
11 14
15Upstream-Status: Pending
16
12Signed-off-by: Khem Raj <raj.khem@gmail.com> 17Signed-off-by: Khem Raj <raj.khem@gmail.com>
18---
19 absl/base/internal/unscaledcycleclock.cc | 4 ++--
20 absl/base/internal/unscaledcycleclock_config.h | 3 ++-
21 absl/debugging/internal/examine_stack.cc | 8 +++++++-
22 absl/debugging/internal/stacktrace_config.h | 2 +-
23 4 files changed, 12 insertions(+), 5 deletions(-)
13 24
25diff --git a/absl/base/internal/unscaledcycleclock.cc b/absl/base/internal/unscaledcycleclock.cc
26index 68f92730..5dbfaab6 100644
14--- a/absl/base/internal/unscaledcycleclock.cc 27--- a/absl/base/internal/unscaledcycleclock.cc
15+++ b/absl/base/internal/unscaledcycleclock.cc 28+++ b/absl/base/internal/unscaledcycleclock.cc
16@@ -20,7 +20,7 @@ 29@@ -20,7 +20,7 @@
17 #include <intrin.h> 30 #include <intrin.h>
18 #endif 31 #endif
19 32
20-#if defined(__powerpc__) || defined(__ppc__) 33-#if defined(__powerpc__) || defined(__ppc__)
21+#if (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__) 34+#if (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)
22 #ifdef __GLIBC__ 35 #ifdef __GLIBC__
@@ -25,30 +38,34 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
25@@ -58,7 +58,7 @@ double UnscaledCycleClock::Frequency() { 38@@ -58,7 +58,7 @@ double UnscaledCycleClock::Frequency() {
26 return base_internal::NominalCPUFrequency(); 39 return base_internal::NominalCPUFrequency();
27 } 40 }
28 41
29-#elif defined(__powerpc__) || defined(__ppc__) 42-#elif defined(__powerpc__) || defined(__ppc__)
30+#elif (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__) 43+#elif (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)
31 44
32 int64_t UnscaledCycleClock::Now() { 45 int64_t UnscaledCycleClock::Now() {
33 #ifdef __GLIBC__ 46 #ifdef __GLIBC__
47diff --git a/absl/base/internal/unscaledcycleclock_config.h b/absl/base/internal/unscaledcycleclock_config.h
48index 43a3dabe..196a8535 100644
34--- a/absl/base/internal/unscaledcycleclock_config.h 49--- a/absl/base/internal/unscaledcycleclock_config.h
35+++ b/absl/base/internal/unscaledcycleclock_config.h 50+++ b/absl/base/internal/unscaledcycleclock_config.h
36@@ -21,7 +21,8 @@ 51@@ -21,7 +21,8 @@
37 52
38 // The following platforms have an implementation of a hardware counter. 53 // The following platforms have an implementation of a hardware counter.
39 #if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) || \ 54 #if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) || \
40- defined(__powerpc__) || defined(__ppc__) || defined(__riscv) || \ 55- defined(__powerpc__) || defined(__ppc__) || defined(_M_IX86) || \
41+ ((defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)) || \ 56+ ((defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)) || \
42+ defined(__riscv) || \ 57+ defined(_M_IX86) || \
43 defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC)) 58 (defined(_M_X64) && !defined(_M_ARM64EC))
44 #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 1 59 #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 1
45 #else 60 #else
61diff --git a/absl/debugging/internal/examine_stack.cc b/absl/debugging/internal/examine_stack.cc
62index 3dd6ba1a..f923b055 100644
46--- a/absl/debugging/internal/examine_stack.cc 63--- a/absl/debugging/internal/examine_stack.cc
47+++ b/absl/debugging/internal/examine_stack.cc 64+++ b/absl/debugging/internal/examine_stack.cc
48@@ -33,6 +33,10 @@ 65@@ -36,6 +36,10 @@
49 #include <csignal> 66 #include <csignal>
50 #include <cstdio> 67 #include <cstdio>
51 68
52+#if defined(__powerpc__) 69+#if defined(__powerpc__)
53+#include <asm/ptrace.h> 70+#include <asm/ptrace.h>
54+#endif 71+#endif
@@ -56,7 +73,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
56 #include "absl/base/attributes.h" 73 #include "absl/base/attributes.h"
57 #include "absl/base/internal/raw_logging.h" 74 #include "absl/base/internal/raw_logging.h"
58 #include "absl/base/macros.h" 75 #include "absl/base/macros.h"
59@@ -174,8 +178,10 @@ void* GetProgramCounter(void* const vuc) { 76@@ -177,8 +181,10 @@ void* GetProgramCounter(void* const vuc) {
60 return reinterpret_cast<void*>(context->uc_mcontext.pc); 77 return reinterpret_cast<void*>(context->uc_mcontext.pc);
61 #elif defined(__powerpc64__) 78 #elif defined(__powerpc64__)
62 return reinterpret_cast<void*>(context->uc_mcontext.gp_regs[32]); 79 return reinterpret_cast<void*>(context->uc_mcontext.gp_regs[32]);
@@ -68,9 +85,11 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
68 #elif defined(__riscv) 85 #elif defined(__riscv)
69 return reinterpret_cast<void*>(context->uc_mcontext.__gregs[REG_PC]); 86 return reinterpret_cast<void*>(context->uc_mcontext.__gregs[REG_PC]);
70 #elif defined(__s390__) && !defined(__s390x__) 87 #elif defined(__s390__) && !defined(__s390x__)
88diff --git a/absl/debugging/internal/stacktrace_config.h b/absl/debugging/internal/stacktrace_config.h
89index 88949fe9..4e26a6b7 100644
71--- a/absl/debugging/internal/stacktrace_config.h 90--- a/absl/debugging/internal/stacktrace_config.h
72+++ b/absl/debugging/internal/stacktrace_config.h 91+++ b/absl/debugging/internal/stacktrace_config.h
73@@ -60,7 +60,7 @@ 92@@ -67,7 +67,7 @@
74 #elif defined(__i386__) || defined(__x86_64__) 93 #elif defined(__i386__) || defined(__x86_64__)
75 #define ABSL_STACKTRACE_INL_HEADER \ 94 #define ABSL_STACKTRACE_INL_HEADER \
76 "absl/debugging/internal/stacktrace_x86-inl.inc" 95 "absl/debugging/internal/stacktrace_x86-inl.inc"
diff --git a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0003-Remove-neon-option-from-cross-compilation.patch b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0003-Remove-neon-option-from-cross-compilation.patch
deleted file mode 100644
index 1a80a428b7..0000000000
--- a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0003-Remove-neon-option-from-cross-compilation.patch
+++ /dev/null
@@ -1,49 +0,0 @@
1From fb24c3e3539b5743d398a429a302a3886186f261 Mon Sep 17 00:00:00 2001
2From: Jonas Gorski <jonas.gorski@bisdn.de>
3Date: Thu, 16 Jun 2022 11:46:31 +0000
4Subject: [PATCH 3/3] Remove neon option from cross compilation
5
6Not every arm platform supports neon instructions, so do not enforce
7them.
8
9Signed-off-by: Jonas Gorski <jonas.gorski@bisdn.de>
10---
11Upstream-Status: Pending
12
13 absl/copts/GENERATED_AbseilCopts.cmake | 4 ----
14 absl/copts/GENERATED_copts.bzl | 4 ----
15 2 files changed, 8 deletions(-)
16
17diff --git a/absl/copts/GENERATED_AbseilCopts.cmake b/absl/copts/GENERATED_AbseilCopts.cmake
18index 23b9253c1f00..5d112a97f3e4 100644
19--- a/absl/copts/GENERATED_AbseilCopts.cmake
20+++ b/absl/copts/GENERATED_AbseilCopts.cmake
21@@ -147,10 +147,6 @@ list(APPEND ABSL_MSVC_TEST_FLAGS
22 "/DNOMINMAX"
23 )
24
25-list(APPEND ABSL_RANDOM_HWAES_ARM32_FLAGS
26- "-mfpu=neon"
27-)
28-
29 list(APPEND ABSL_RANDOM_HWAES_ARM64_FLAGS
30 "-march=armv8-a+crypto"
31 )
32diff --git a/absl/copts/GENERATED_copts.bzl b/absl/copts/GENERATED_copts.bzl
33index 1e847f769501..3e10db204faf 100644
34--- a/absl/copts/GENERATED_copts.bzl
35+++ b/absl/copts/GENERATED_copts.bzl
36@@ -148,10 +148,6 @@ ABSL_MSVC_TEST_FLAGS = [
37 "/DNOMINMAX",
38 ]
39
40-ABSL_RANDOM_HWAES_ARM32_FLAGS = [
41- "-mfpu=neon",
42-]
43-
44 ABSL_RANDOM_HWAES_ARM64_FLAGS = [
45 "-march=armv8-a+crypto",
46 ]
47--
482.36.1
49
diff --git a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_20240116.2.bb b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_20250512.1.bb
index 2aef973910..4afbba963a 100644
--- a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_20240116.2.bb
+++ b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_20250512.1.bb
@@ -7,16 +7,13 @@ SECTION = "libs"
7LICENSE = "Apache-2.0" 7LICENSE = "Apache-2.0"
8LIC_FILES_CHKSUM = "file://LICENSE;md5=df52c6edb7adc22e533b2bacc3bd3915" 8LIC_FILES_CHKSUM = "file://LICENSE;md5=df52c6edb7adc22e533b2bacc3bd3915"
9 9
10SRCREV = "d7aaad83b488fd62bd51c81ecf16cd938532cc0a" 10SRCREV = "76bb24329e8bf5f39704eb10d21b9a80befa7c81"
11BRANCH = "lts_2024_01_16" 11BRANCH = "lts_2025_05_12"
12SRC_URI = "git://github.com/abseil/abseil-cpp;branch=${BRANCH};protocol=https \ 12SRC_URI = "git://github.com/abseil/abseil-cpp;branch=${BRANCH};protocol=https \
13 file://0001-absl-always-use-asm-sgidefs.h.patch \ 13 file://0001-absl-always-use-asm-sgidefs.h.patch \
14 file://0002-Remove-maes-option-from-cross-compilation.patch \ 14 file://0002-abseil-ppc-fixes.patch \
15 file://abseil-ppc-fixes.patch \ 15 "
16 file://0003-Remove-neon-option-from-cross-compilation.patch \
17 "
18 16
19S = "${WORKDIR}/git"
20 17
21inherit cmake 18inherit cmake
22 19
@@ -27,7 +24,7 @@ EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON \
27 24
28SYSROOT_DIRS:append:class-nativesdk:mingw32 = " ${bindir}" 25SYSROOT_DIRS:append:class-nativesdk:mingw32 = " ${bindir}"
29 26
30PACKAGES_DYNAMIC = "^libabsl-*" 27PACKAGES_DYNAMIC += "^libabsl-*"
31PACKAGES_DYNAMIC:class-native = "" 28PACKAGES_DYNAMIC:class-native = ""
32 29
33PACKAGESPLITFUNCS =+ "split_dynamic_packages" 30PACKAGESPLITFUNCS =+ "split_dynamic_packages"
diff --git a/meta-oe/recipes-devtools/aer-inject/aer-inject_1.0.bb b/meta-oe/recipes-devtools/aer-inject/aer-inject_1.0.bb
index 87c09f5118..e027b8d4aa 100644
--- a/meta-oe/recipes-devtools/aer-inject/aer-inject_1.0.bb
+++ b/meta-oe/recipes-devtools/aer-inject/aer-inject_1.0.bb
@@ -15,7 +15,6 @@ SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/gong.chen/aer-inject.gi
15" 15"
16SRCREV = "9bd5e2c7886fca72f139cd8402488a2235957d41" 16SRCREV = "9bd5e2c7886fca72f139cd8402488a2235957d41"
17 17
18S = "${WORKDIR}/git"
19 18
20DEPENDS = "bison-native" 19DEPENDS = "bison-native"
21 20
diff --git a/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs_1.0.bb b/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs_1.0.bb
index 3f9d49a2d2..342e7fd1a5 100644
--- a/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs_1.0.bb
+++ b/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs_1.0.bb
@@ -3,6 +3,8 @@ SECTION = "console/utils"
3LICENSE = "MIT" 3LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" 4LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
5 5
6S = "${UNPACKDIR}"
7
6SRC_URI = " \ 8SRC_URI = " \
7 file://android-gadget-setup \ 9 file://android-gadget-setup \
8 file://android-gadget-start \ 10 file://android-gadget-start \
@@ -14,17 +16,17 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
14 16
15do_install() { 17do_install() {
16 install -d ${D}${bindir} 18 install -d ${D}${bindir}
17 install -m 0755 ${WORKDIR}/android-gadget-setup ${D}${bindir} 19 install -m 0755 ${UNPACKDIR}/android-gadget-setup ${D}${bindir}
18 install -m 0755 ${WORKDIR}/android-gadget-start ${D}${bindir} 20 install -m 0755 ${UNPACKDIR}/android-gadget-start ${D}${bindir}
19 install -m 0755 ${WORKDIR}/android-gadget-cleanup ${D}${bindir} 21 install -m 0755 ${UNPACKDIR}/android-gadget-cleanup ${D}${bindir}
20 22
21 if [ -r ${WORKDIR}/android-gadget-setup.machine ] ; then 23 if [ -r ${UNPACKDIR}/android-gadget-setup.machine ] ; then
22 install -d ${D}${sysconfdir} 24 install -d ${D}${sysconfdir}
23 install -m 0644 ${WORKDIR}/android-gadget-setup.machine ${D}${sysconfdir} 25 install -m 0644 ${UNPACKDIR}/android-gadget-setup.machine ${D}${sysconfdir}
24 fi 26 fi
25 27
26 install -d ${D}${systemd_unitdir}/system/android-tools-adbd.service.d 28 install -d ${D}${systemd_unitdir}/system/android-tools-adbd.service.d
27 install -m 0644 ${WORKDIR}/10-adbd-configfs.conf ${D}${systemd_unitdir}/system/android-tools-adbd.service.d 29 install -m 0644 ${UNPACKDIR}/10-adbd-configfs.conf ${D}${systemd_unitdir}/system/android-tools-adbd.service.d
28} 30}
29 31
30FILES:${PN} += " \ 32FILES:${PN} += " \
@@ -33,3 +35,4 @@ FILES:${PN} += " \
33 35
34PROVIDES += "android-tools-conf" 36PROVIDES += "android-tools-conf"
35RPROVIDES:${PN} = "android-tools-conf" 37RPROVIDES:${PN} = "android-tools-conf"
38BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/android-tools/android-tools-conf_1.0.bb b/meta-oe/recipes-devtools/android-tools/android-tools-conf_1.0.bb
index 34b1a9bdd2..764d6b404f 100644
--- a/meta-oe/recipes-devtools/android-tools/android-tools-conf_1.0.bb
+++ b/meta-oe/recipes-devtools/android-tools/android-tools-conf_1.0.bb
@@ -5,11 +5,13 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda
5 5
6SRC_URI = "file://android-gadget-setup" 6SRC_URI = "file://android-gadget-setup"
7 7
8S = "${UNPACKDIR}"
9
8PACKAGE_ARCH = "${MACHINE_ARCH}" 10PACKAGE_ARCH = "${MACHINE_ARCH}"
9 11
10do_install() { 12do_install() {
11 install -d ${D}${bindir} 13 install -d ${D}${bindir}
12 install -m 0755 ${WORKDIR}/android-gadget-setup ${D}${bindir} 14 install -m 0755 ${UNPACKDIR}/android-gadget-setup ${D}${bindir}
13} 15}
14 16
15python () { 17python () {
diff --git a/meta-oe/recipes-devtools/android-tools/android-tools/android-tools-adbd.service b/meta-oe/recipes-devtools/android-tools/android-tools/android-tools-adbd.service
index ddf8d7f74e..b6661f2e39 100644
--- a/meta-oe/recipes-devtools/android-tools/android-tools/android-tools-adbd.service
+++ b/meta-oe/recipes-devtools/android-tools/android-tools/android-tools-adbd.service
@@ -1,6 +1,6 @@
1[Unit] 1[Unit]
2Description=Android Debug Bridge 2Description=Android Debug Bridge
3ConditionPathExists=/var/usb-debugging-enabled 3ConditionPathExists=/etc/usb-debugging-enabled
4Before=android-system.service 4Before=android-system.service
5 5
6[Service] 6[Service]
diff --git a/meta-oe/recipes-devtools/android-tools/android-tools/core/adb_libssl_11.diff b/meta-oe/recipes-devtools/android-tools/android-tools/core/adb_libssl_11.diff
index 177d69a97a..ddb41ea4b0 100644
--- a/meta-oe/recipes-devtools/android-tools/android-tools/core/adb_libssl_11.diff
+++ b/meta-oe/recipes-devtools/android-tools/android-tools/core/adb_libssl_11.diff
@@ -17,9 +17,10 @@ Upstream-Status: Pending
17+++ b/adb/adb_auth_host.c 17+++ b/adb/adb_auth_host.c
18@@ -75,6 +75,7 @@ static int RSA_to_RSAPublicKey(RSA *rsa, 18@@ -75,6 +75,7 @@ static int RSA_to_RSAPublicKey(RSA *rsa,
19 BIGNUM* rem = BN_new(); 19 BIGNUM* rem = BN_new();
20 BIGNUM* n = BN_new(); 20- BIGNUM* n = BN_new();
21+ const BIGNUM* n;
21 BIGNUM* n0inv = BN_new(); 22 BIGNUM* n0inv = BN_new();
22+ BIGNUM* e = BN_new(); 23+ const BIGNUM* e;
23 24
24 if (RSA_size(rsa) != RSANUMBYTES) { 25 if (RSA_size(rsa) != RSANUMBYTES) {
25 ret = 0; 26 ret = 0;
@@ -32,7 +33,7 @@ Upstream-Status: Pending
32 BN_set_bit(r, RSANUMWORDS * 32); 33 BN_set_bit(r, RSANUMWORDS * 32);
33 BN_mod_sqr(rr, r, n, ctx); 34 BN_mod_sqr(rr, r, n, ctx);
34 BN_div(NULL, rem, n, r32, ctx); 35 BN_div(NULL, rem, n, r32, ctx);
35@@ -96,7 +97,7 @@ static int RSA_to_RSAPublicKey(RSA *rsa, 36@@ -96,11 +97,10 @@ static int RSA_to_RSAPublicKey(RSA *rsa,
36 BN_div(n, rem, n, r32, ctx); 37 BN_div(n, rem, n, r32, ctx);
37 pkey->n[i] = BN_get_word(rem); 38 pkey->n[i] = BN_get_word(rem);
38 } 39 }
@@ -41,3 +42,7 @@ Upstream-Status: Pending
41 42
42 out: 43 out:
43 BN_free(n0inv); 44 BN_free(n0inv);
45- BN_free(n);
46 BN_free(rem);
47 BN_free(r);
48 BN_free(rr);
diff --git a/meta-oe/recipes-devtools/android-tools/android-tools/extras/0003-ext4_utils-drop-unused-parameter-from-allocate_inode.patch b/meta-oe/recipes-devtools/android-tools/android-tools/extras/0003-ext4_utils-drop-unused-parameter-from-allocate_inode.patch
new file mode 100644
index 0000000000..b77c0ebc13
--- /dev/null
+++ b/meta-oe/recipes-devtools/android-tools/android-tools/extras/0003-ext4_utils-drop-unused-parameter-from-allocate_inode.patch
@@ -0,0 +1,69 @@
1From c9f8cb184a7218c97ff966db44da6dd814c0e273 Mon Sep 17 00:00:00 2001
2From: Martin Jansa <martin.jansa@gmail.com>
3Date: Fri, 21 Mar 2025 09:49:32 +0000
4Subject: [PATCH] ext4_utils: drop unused parameter from allocate_inode()
5
6* fixes build with gcc-15:
7 http://errors.yoctoproject.org/Errors/Details/848455/
8
9TOPDIR/tmp/work/core2-64-oe-linux/android-tools/5.1.1.r37/git/system/extras/ext4_utils/contents.c: In function 'make_directory':
10TOPDIR/tmp/work/core2-64-oe-linux/android-tools/5.1.1.r37/git/system/extras/ext4_utils/contents.c:115:29: error: too many arguments to function 'allocate_inode'; expected 0, have 1
11 115 | inode_num = allocate_inode(info);
12 | ^~~~~~~~~~~~~~ ~~~~
13In file included from TOPDIR/tmp/work/core2-64-oe-linux/android-tools/5.1.1.r37/git/system/extras/ext4_utils/contents.c:32:
14TOPDIR/tmp/work/core2-64-oe-linux/android-tools/5.1.1.r37/git/system/extras/ext4_utils/allocate.h:61:5: note: declared here
15 61 | u32 allocate_inode();
16 | ^~~~~~~~~~~~~~
17TOPDIR/tmp/work/core2-64-oe-linux/android-tools/5.1.1.r37/git/system/extras/ext4_utils/contents.c: In function 'make_file':
18TOPDIR/tmp/work/core2-64-oe-linux/android-tools/5.1.1.r37/git/system/extras/ext4_utils/contents.c:183:21: error: too many arguments to function 'allocate_inode'; expected 0, have 1
19 183 | inode_num = allocate_inode(info);
20 | ^~~~~~~~~~~~~~ ~~~~
21TOPDIR/tmp/work/core2-64-oe-linux/android-tools/5.1.1.r37/git/system/extras/ext4_utils/allocate.h:61:5: note: declared here
22 61 | u32 allocate_inode();
23 | ^~~~~~~~~~~~~~
24TOPDIR/tmp/work/core2-64-oe-linux/android-tools/5.1.1.r37/git/system/extras/ext4_utils/contents.c: In function 'make_link':
25TOPDIR/tmp/work/core2-64-oe-linux/android-tools/5.1.1.r37/git/system/extras/ext4_utils/contents.c:218:21: error: too many arguments to function 'allocate_inode'; expected 0, have 1
26 218 | inode_num = allocate_inode(info);
27 | ^~~~~~~~~~~~~~ ~~~~
28TOPDIR/tmp/work/core2-64-oe-linux/android-tools/5.1.1.r37/git/system/extras/ext4_utils/allocate.h:61:5: note: declared here
29 61 | u32 allocate_inode();
30 | ^~~~~~~~~~~~~~
31make: *** [<builtin>: contents.o] Error 1
32
33Upstream-Status: Pending [this whole code was removed in newer version android-9.0.0_r1 https://android.googlesource.com/platform/system/extras/+/7a837fcd6e9c0e0219f743052c78cc1c5988dfaf]
34Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
35---
36 ext4_utils/contents.c | 6 +++---
37 1 file changed, 3 insertions(+), 3 deletions(-)
38
39diff --git a/ext4_utils/contents.c b/ext4_utils/contents.c
40index 3144de93f..ac1b71706 100644
41--- a/ext4_utils/contents.c
42+++ b/ext4_utils/contents.c
43@@ -112,7 +112,7 @@ u32 make_directory(u32 dir_inode_num, u32 entries, struct dentry *dentries,
44 len = blocks * info.block_size;
45
46 if (dir_inode_num) {
47- inode_num = allocate_inode(info);
48+ inode_num = allocate_inode();
49 } else {
50 dir_inode_num = EXT4_ROOT_INO;
51 inode_num = EXT4_ROOT_INO;
52@@ -180,7 +180,7 @@ u32 make_file(const char *filename, u64 len)
53 struct ext4_inode *inode;
54 u32 inode_num;
55
56- inode_num = allocate_inode(info);
57+ inode_num = allocate_inode();
58 if (inode_num == EXT4_ALLOCATE_FAILED) {
59 error("failed to allocate inode\n");
60 return EXT4_ALLOCATE_FAILED;
61@@ -215,7 +215,7 @@ u32 make_link(const char *link)
62 u32 inode_num;
63 u32 len = strlen(link);
64
65- inode_num = allocate_inode(info);
66+ inode_num = allocate_inode();
67 if (inode_num == EXT4_ALLOCATE_FAILED) {
68 error("failed to allocate inode\n");
69 return EXT4_ALLOCATE_FAILED;
diff --git a/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb b/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
index 1c66ea4997..c04a1ef8c4 100644
--- a/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
+++ b/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
@@ -21,11 +21,11 @@ SRCREV_build = "16e987def3d7d8f7d30805eb95cef69e52a87dbc"
21 21
22SRCREV_FORMAT = "core_extras_libhardware_libselinux_build" 22SRCREV_FORMAT = "core_extras_libhardware_libselinux_build"
23SRC_URI = " \ 23SRC_URI = " \
24 git://${ANDROID_MIRROR}/platform/system/core;name=core;protocol=https;nobranch=1;destsuffix=git/system/core \ 24 git://${ANDROID_MIRROR}/platform/system/core;name=core;protocol=https;nobranch=1;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/system/core \
25 git://${ANDROID_MIRROR}/platform/system/extras;name=extras;protocol=https;nobranch=1;destsuffix=git/system/extras \ 25 git://${ANDROID_MIRROR}/platform/system/extras;name=extras;protocol=https;nobranch=1;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/system/extras \
26 git://${ANDROID_MIRROR}/platform/hardware/libhardware;name=libhardware;protocol=https;nobranch=1;destsuffix=git/hardware/libhardware \ 26 git://${ANDROID_MIRROR}/platform/hardware/libhardware;name=libhardware;protocol=https;nobranch=1;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/hardware/libhardware \
27 git://${ANDROID_MIRROR}/platform/external/libselinux;name=libselinux;protocol=https;nobranch=1;destsuffix=git/external/libselinux \ 27 git://${ANDROID_MIRROR}/platform/external/libselinux;name=libselinux;protocol=https;nobranch=1;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/external/libselinux \
28 git://${ANDROID_MIRROR}/platform/build;name=build;protocol=https;nobranch=1;destsuffix=git/build \ 28 git://${ANDROID_MIRROR}/platform/build;name=build;protocol=https;nobranch=1;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/build \
29 file://core/0001-adb-remove-selinux-extensions.patch;patchdir=system/core \ 29 file://core/0001-adb-remove-selinux-extensions.patch;patchdir=system/core \
30 file://core/0002-adb-Use-local-sockets-where-appropriate.patch;patchdir=system/core \ 30 file://core/0002-adb-Use-local-sockets-where-appropriate.patch;patchdir=system/core \
31 file://core/0003-adb-define-shell-command.patch;patchdir=system/core \ 31 file://core/0003-adb-define-shell-command.patch;patchdir=system/core \
@@ -48,6 +48,7 @@ SRC_URI = " \
48 file://core/0001-memory.h-Always-define-strlcpy-for-glibc-based-syste.patch;patchdir=system/core \ 48 file://core/0001-memory.h-Always-define-strlcpy-for-glibc-based-syste.patch;patchdir=system/core \
49 file://extras/0001-ext4_utils-remove-selinux-extensions.patch;patchdir=system/extras \ 49 file://extras/0001-ext4_utils-remove-selinux-extensions.patch;patchdir=system/extras \
50 file://extras/0002-ext4_utils-add-o-argument-to-preserve-ownership.patch;patchdir=system/extras \ 50 file://extras/0002-ext4_utils-add-o-argument-to-preserve-ownership.patch;patchdir=system/extras \
51 file://extras/0003-ext4_utils-drop-unused-parameter-from-allocate_inode.patch;patchdir=system/extras \
51 file://libselinux/0001-Remove-bionic-specific-calls.patch;patchdir=external/libselinux \ 52 file://libselinux/0001-Remove-bionic-specific-calls.patch;patchdir=external/libselinux \
52 file://libselinux/0001-libselinux-Do-not-define-gettid-if-glibc-2.30-is-use.patch;patchdir=external/libselinux \ 53 file://libselinux/0001-libselinux-Do-not-define-gettid-if-glibc-2.30-is-use.patch;patchdir=external/libselinux \
53 file://android-tools-adbd.service \ 54 file://android-tools-adbd.service \
@@ -61,7 +62,6 @@ SRC_URI = " \
61" 62"
62 63
63 64
64S = "${WORKDIR}/git"
65B = "${WORKDIR}/${BPN}" 65B = "${WORKDIR}/${BPN}"
66 66
67# http://errors.yoctoproject.org/Errors/Details/133881/ 67# http://errors.yoctoproject.org/Errors/Details/133881/
@@ -88,7 +88,7 @@ TOOLS:class-native = "fastboot ext4_utils mkbootimg"
88TOOLS:class-nativesdk = "fastboot ext4_utils mkbootimg" 88TOOLS:class-nativesdk = "fastboot ext4_utils mkbootimg"
89 89
90do_compile() { 90do_compile() {
91 cp ${WORKDIR}/gitignore ${S}/.gitignore 91 cp ${UNPACKDIR}/gitignore ${S}/.gitignore
92 92
93 # Setting both variables below causing our makefiles to not work with 93 # Setting both variables below causing our makefiles to not work with
94 # implicit make rules 94 # implicit make rules
@@ -123,7 +123,7 @@ do_compile() {
123 123
124 for tool in ${TOOLS}; do 124 for tool in ${TOOLS}; do
125 mkdir -p ${B}/${tool} 125 mkdir -p ${B}/${tool}
126 oe_runmake -f ${B}/${tool}.mk -C ${B}/${tool} 126 oe_runmake -f ${UNPACKDIR}/${BPN}/${tool}.mk -C ${B}/${tool}
127 done 127 done
128} 128}
129 129
@@ -151,7 +151,7 @@ do_install() {
151 fi 151 fi
152 152
153 # Outside the if statement to avoid errors during do_package 153 # Outside the if statement to avoid errors during do_package
154 install -D -p -m0644 ${WORKDIR}/android-tools-adbd.service \ 154 install -D -p -m0644 ${UNPACKDIR}/android-tools-adbd.service \
155 ${D}${systemd_unitdir}/system/android-tools-adbd.service 155 ${D}${systemd_unitdir}/system/android-tools-adbd.service
156 156
157 if echo ${TOOLS} | grep -q "fastboot" ; then 157 if echo ${TOOLS} | grep -q "fastboot" ; then
@@ -187,9 +187,3 @@ FILES:${PN}-fstools = "\
187" 187"
188 188
189BBCLASSEXTEND = "native" 189BBCLASSEXTEND = "native"
190
191android_tools_enable_devmode() {
192 touch ${IMAGE_ROOTFS}/var/usb-debugging-enabled
193}
194
195ROOTFS_POSTPROCESS_COMMAND_${PN}-adbd += "${@bb.utils.contains("USB_DEBUGGING_ENABLED", "1", "android_tools_enable_devmode;", "", d)}"
diff --git a/meta-oe/recipes-devtools/apitrace/apitrace/0001-Explicit-header-stdint.patch b/meta-oe/recipes-devtools/apitrace/apitrace/0001-Explicit-header-stdint.patch
new file mode 100644
index 0000000000..9ce6693061
--- /dev/null
+++ b/meta-oe/recipes-devtools/apitrace/apitrace/0001-Explicit-header-stdint.patch
@@ -0,0 +1,42 @@
1From 952bad1469ea747012bdc48c48993bd5f13eec04 Mon Sep 17 00:00:00 2001
2From: Nicolas PARLANT <nicolas.parlant@parhuet.fr>
3Date: Fri, 21 Mar 2025 05:02:23 +0000
4Subject: [PATCH] Explicit header: stdint
5
6Fix building with GCC-15. It no longer includes it by default.
7
8Upstream-Status: Backport [https://github.com/apitrace/apitrace/commit/952bad1469ea747012bdc48c48993bd5f13eec04]
9
10Signed-off-by: Nicolas PARLANT <nicolas.parlant@parhuet.fr>
11---
12 frametrim/ft_dependecyobject.hpp | 1 +
13 retrace/metric_writer.cpp | 1 +
14 2 files changed, 2 insertions(+)
15
16diff --git a/frametrim/ft_dependecyobject.hpp b/frametrim/ft_dependecyobject.hpp
17index 2cd0b768..0f17b601 100644
18--- a/frametrim/ft_dependecyobject.hpp
19+++ b/frametrim/ft_dependecyobject.hpp
20@@ -28,6 +28,7 @@
21 #pragma once
22
23 #include "ft_tracecall.hpp"
24+#include <stdint.h>
25
26 namespace frametrim {
27
28diff --git a/retrace/metric_writer.cpp b/retrace/metric_writer.cpp
29index e923ed1d..4e4ce748 100644
30--- a/retrace/metric_writer.cpp
31+++ b/retrace/metric_writer.cpp
32@@ -24,6 +24,7 @@
33 **************************************************************************/
34
35 #include <iostream>
36+#include <stdint.h>
37
38 #include "metric_writer.hpp"
39
40--
412.34.1
42
diff --git a/meta-oe/recipes-devtools/apitrace/apitrace_11.1.bb b/meta-oe/recipes-devtools/apitrace/apitrace_11.1.bb
index d872c4dbb5..244d9a3c6f 100644
--- a/meta-oe/recipes-devtools/apitrace/apitrace_11.1.bb
+++ b/meta-oe/recipes-devtools/apitrace/apitrace_11.1.bb
@@ -8,9 +8,9 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=aeb969185a143c3c25130bc2c3ef9a50 \
8SRCREV = "9352fc02bba106fbbeef9e8452ef34643c0d0764" 8SRCREV = "9352fc02bba106fbbeef9e8452ef34643c0d0764"
9PV .= "+11.1+git" 9PV .= "+11.1+git"
10SRC_URI = "gitsm://github.com/${BPN}/${BPN}.git;branch=master;protocol=https \ 10SRC_URI = "gitsm://github.com/${BPN}/${BPN}.git;branch=master;protocol=https \
11 file://0001-Explicit-header-stdint.patch \
11 " 12 "
12 13
13S = "${WORKDIR}/git"
14 14
15DEPENDS += "zlib libpng python3-native" 15DEPENDS += "zlib libpng python3-native"
16 16
diff --git a/meta-oe/recipes-devtools/autoconf-2.13/autoconf-2.13-native_2.13.bb b/meta-oe/recipes-devtools/autoconf-2.13/autoconf-2.13-native_2.13.bb
deleted file mode 100644
index d0e0446eb8..0000000000
--- a/meta-oe/recipes-devtools/autoconf-2.13/autoconf-2.13-native_2.13.bb
+++ /dev/null
@@ -1,67 +0,0 @@
1SUMMARY = "A GNU tool that produce shell scripts to automatically configure software"
2DESCRIPTION = "Autoconf is an extensible package of M4 macros that produce shell scripts to automatically \
3configure software source code packages. Autoconf creates a configuration script for a package from a template \
4file that lists the operating system features that the package can use, in the form of M4 macro calls."
5SECTION = "devel"
6
7HOMEPAGE = "http://www.gnu.org/software/autoconf/"
8
9LICENSE = "GPL-3.0-only"
10LICENSE = "GPL-2.0-only & GPL-3.0-only"
11LIC_FILES_CHKSUM = "file://COPYING;md5=361b6b837cad26c6900a926b62aada5f"
12
13SRC_URI = " \
14 ${GNU_MIRROR}/autoconf/autoconf-${PV}.tar.gz \
15 file://0001-Add-config.guess-config.sub-install-to-destdir.patch \
16"
17
18S = "${WORKDIR}/${BPN}"
19SRC_URI[md5sum] = "9de56d4a161a723228220b0f425dc711"
20SRC_URI[sha256sum] = "f0611136bee505811e9ca11ca7ac188ef5323a8e2ef19cffd3edb3cf08fd791e"
21
22inherit texinfo native
23
24DEPENDS += "m4-native gnu-config-native"
25RDEPENDS:${PN} = "m4-native gnu-config-native"
26
27PERL = "${USRBINPATH}/perl"
28
29CACHED_CONFIGUREVARS += "ac_cv_path_PERL='${PERL}'"
30
31CONFIGUREOPTS = " \
32 --build=${BUILD_SYS} \
33 --host=${HOST_SYS} \
34 --target=${TARGET_SYS} \
35 --prefix=${prefix} \
36 --exec_prefix=${exec_prefix} \
37 --bindir=${bindir} \
38 --sbindir=${sbindir} \
39 --libexecdir=${libexecdir} \
40 --datadir=${datadir} \
41 --sysconfdir=${sysconfdir} \
42 --sharedstatedir=${sharedstatedir} \
43 --localstatedir=${localstatedir} \
44 --libdir=${libdir} \
45 --includedir=${includedir} \
46 --oldincludedir=${includedir} \
47 --infodir=${infodir} \
48 --mandir=${mandir} \
49 --disable-silent-rules \
50"
51
52EXTRA_OECONF += "ac_cv_path_M4=m4 ac_cv_prog_TEST_EMACS=no"
53
54do_configure() {
55 ./configure ${CONFIGUREOPTS}
56}
57
58do_install() {
59 oe_runmake 'DESTDIR=${D}' install
60
61 # avoid conflicts with standard autotools
62 ver="213"
63 for file in `find ${D}${bindir} -type f`; do
64 mv $file $file$ver
65 done
66 mv ${D}${datadir}/autoconf ${D}${datadir}/autoconf213
67}
diff --git a/meta-oe/recipes-devtools/autoconf-2.13/autoconf-2.13/0001-Add-config.guess-config.sub-install-to-destdir.patch b/meta-oe/recipes-devtools/autoconf-2.13/autoconf-2.13/0001-Add-config.guess-config.sub-install-to-destdir.patch
deleted file mode 100644
index f6e9ecb9a0..0000000000
--- a/meta-oe/recipes-devtools/autoconf-2.13/autoconf-2.13/0001-Add-config.guess-config.sub-install-to-destdir.patch
+++ /dev/null
@@ -1,67 +0,0 @@
1From 3d3e23f7b14e87849405a4e109a69b76696615fc Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
3Date: Wed, 11 Dec 2019 23:18:19 +0100
4Subject: [PATCH] Add config.guess config.sub / install to destdir
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9Upstream-Status: Inappropriate [Configuration]
10
11Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
12---
13 Makefile.in | 18 +++++++++---------
14 1 file changed, 9 insertions(+), 9 deletions(-)
15
16diff --git a/Makefile.in b/Makefile.in
17index a6c94d4..4b1b708 100644
18--- a/Makefile.in
19+++ b/Makefile.in
20@@ -137,23 +137,23 @@ installcheck: all install
21 cd testsuite && ${MAKE} AUTOCONF=${bindir}/autoconf $@
22
23 installdirs:
24- $(SHELL) ${srcdir}/mkinstalldirs $(bindir) $(infodir) $(acdatadir)
25+ $(SHELL) ${srcdir}/mkinstalldirs ${DESTDIR}$(bindir) ${DESTDIR}$(infodir) ${DESTDIR}$(acdatadir)
26
27 install: all $(M4FILES) acconfig.h installdirs install-info
28 for p in $(ASCRIPTS); do \
29- $(INSTALL_PROGRAM) $$p $(bindir)/`echo $$p|sed '$(transform)'`; \
30+ $(INSTALL_PROGRAM) $$p ${DESTDIR}$(bindir)/`echo $$p|sed '$(transform)'`; \
31 done
32 for i in $(M4FROZEN); do \
33- $(INSTALL_DATA) $$i $(acdatadir)/$$i; \
34+ $(INSTALL_DATA) $$i ${DESTDIR}$(acdatadir)/$$i; \
35 done
36 for i in $(M4FILES) acconfig.h; do \
37- $(INSTALL_DATA) $(srcdir)/$$i $(acdatadir)/$$i; \
38+ $(INSTALL_DATA) $(srcdir)/$$i ${DESTDIR}$(acdatadir)/$$i; \
39 done
40 -if test -f autoscan; then \
41- $(INSTALL_PROGRAM) autoscan $(bindir)/`echo autoscan|sed '$(transform)'`; \
42+ $(INSTALL_PROGRAM) autoscan ${DESTDIR}$(bindir)/`echo autoscan|sed '$(transform)'`; \
43 for i in acfunctions acheaders acidentifiers acprograms \
44- acmakevars; do \
45- $(INSTALL_DATA) $(srcdir)/$$i $(acdatadir)/$$i; \
46+ acmakevars config.guess config.sub; do \
47+ $(INSTALL_DATA) $(srcdir)/$$i ${DESTDIR}$(acdatadir)/$$i; \
48 done; \
49 else :; fi
50
51@@ -161,11 +161,11 @@ install: all $(M4FILES) acconfig.h installdirs install-info
52 install-info: info installdirs
53 if test -f autoconf.info; then \
54 for i in *.info*; do \
55- $(INSTALL_DATA) $$i $(infodir)/$$i; \
56+ $(INSTALL_DATA) $$i ${DESTDIR}$(infodir)/$$i; \
57 done; \
58 else \
59 for i in $(srcdir)/*.info*; do \
60- $(INSTALL_DATA) $$i $(infodir)/`echo $$i | sed 's|^$(srcdir)/||'`; \
61+ $(INSTALL_DATA) $$i ${DESTDIR}$(infodir)/`echo $$i | sed 's|^$(srcdir)/||'`; \
62 done; \
63 fi
64
65--
662.21.0
67
diff --git a/meta-oe/recipes-devtools/b4/b4_0.14.2.bb b/meta-oe/recipes-devtools/b4/b4_0.14.2.bb
new file mode 100644
index 0000000000..794e1d24dd
--- /dev/null
+++ b/meta-oe/recipes-devtools/b4/b4_0.14.2.bb
@@ -0,0 +1,13 @@
1SUMMARY = "Utility to work with patches made available via a public-inbox archive like lore.kernel.org."
2
3LICENSE = "GPL-2.0-only"
4LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
5
6inherit pypi python_pep517 python_setuptools_build_meta
7
8SRC_URI[sha256sum] = "4f835b6e5ae30eff6004bb25c15fd8f4f6ecd1105596e86db1871fef7d18113d"
9
10RDEPENDS:${PN} += " \
11 python3-mailbox \
12 python3-requests \
13"
diff --git a/meta-oe/recipes-devtools/breakpad/breakpad_2023.06.01.bb b/meta-oe/recipes-devtools/breakpad/breakpad_2023.06.01.bb
index 3bf4371e85..0e51289507 100644
--- a/meta-oe/recipes-devtools/breakpad/breakpad_2023.06.01.bb
+++ b/meta-oe/recipes-devtools/breakpad/breakpad_2023.06.01.bb
@@ -27,9 +27,9 @@ SRCREV_protobuf = "cb6dd4ef5f82e41e06179dcd57d3b1d9246ad6ac"
27SRCREV_lss = "9719c1e1e676814c456b55f5f070eabad6709d31" 27SRCREV_lss = "9719c1e1e676814c456b55f5f070eabad6709d31"
28 28
29SRC_URI = "git://github.com/google/breakpad;name=breakpad;branch=main;protocol=https \ 29SRC_URI = "git://github.com/google/breakpad;name=breakpad;branch=main;protocol=https \
30 git://github.com/google/googletest.git;destsuffix=git/src/testing/gtest;name=gtest;branch=main;protocol=https \ 30 git://github.com/google/googletest.git;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/src/testing/gtest;name=gtest;branch=main;protocol=https \
31 git://github.com/protocolbuffers/protobuf.git;destsuffix=git/src/third_party/protobuf/protobuf;name=protobuf;branch=master;protocol=https \ 31 git://github.com/protocolbuffers/protobuf.git;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/src/third_party/protobuf/protobuf;name=protobuf;branch=master;protocol=https \
32 git://chromium.googlesource.com/linux-syscall-support;protocol=https;branch=main;destsuffix=git/src/third_party/lss;name=lss \ 32 git://chromium.googlesource.com/linux-syscall-support;protocol=https;branch=main;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/src/third_party/lss;name=lss \
33 file://0001-include-sys-reg.h-to-get-__WORDSIZE-on-musl-libc.patch \ 33 file://0001-include-sys-reg.h-to-get-__WORDSIZE-on-musl-libc.patch \
34 file://0003-Fix-conflict-between-musl-libc-dirent.h-and-lss.patch \ 34 file://0003-Fix-conflict-between-musl-libc-dirent.h-and-lss.patch \
35 file://0001-Turn-off-sign-compare-for-musl-libc.patch \ 35 file://0001-Turn-off-sign-compare-for-musl-libc.patch \
@@ -41,7 +41,6 @@ SRC_URI = "git://github.com/google/breakpad;name=breakpad;branch=main;protocol=h
41 file://0001-lss-Match-syscalls-to-match-musl.patch;patchdir=src/third_party/lss \ 41 file://0001-lss-Match-syscalls-to-match-musl.patch;patchdir=src/third_party/lss \
42 file://mips_asm_sgidefs.patch;patchdir=src/third_party/lss \ 42 file://mips_asm_sgidefs.patch;patchdir=src/third_party/lss \
43" 43"
44S = "${WORKDIR}/git"
45 44
46CXXFLAGS += "-D_GNU_SOURCE" 45CXXFLAGS += "-D_GNU_SOURCE"
47LDFLAGS:append:libc-musl = " -lucontext" 46LDFLAGS:append:libc-musl = " -lucontext"
diff --git a/meta-oe/recipes-devtools/capnproto/capnproto/0001-Export-binaries-only-for-native-build.patch b/meta-oe/recipes-devtools/capnproto/capnproto/0001-Export-binaries-only-for-native-build.patch
new file mode 100644
index 0000000000..7677d96b23
--- /dev/null
+++ b/meta-oe/recipes-devtools/capnproto/capnproto/0001-Export-binaries-only-for-native-build.patch
@@ -0,0 +1,53 @@
1From e654a7015f5e8f20bf7681681cc2b80082303007 Mon Sep 17 00:00:00 2001
2From: Gyorgy Sarvari <skandigraun@gmail.com>
3Date: Tue, 25 Feb 2025 13:43:42 +0100
4Subject: [PATCH] Export binaries only for native build
5
6By default, the cmake configuratione exports all generated files,
7so when using the generated cmake file with a find_package command,
8it verifies that these files actually exist.
9
10When using the cross-compiled version of capnproto, the generated
11binaries are not available in RECIPE_SYSROOT (since they can be
12used as RDEPENDS only, but not usable as DEPENDS), and due to
13this the compilation fails.
14
15To avoid this, check during the compilation of capnproto if it is
16being cross-compiled, or not. If is it cross-compiled, then only
17install the generated binary files in their final location, but
18don't export them. When not cross-compiling, do the same, but also
19export the files (which is the default behavior).
20
21Upstream-Status: Inappropriate [oe specific: see above message]
22
23Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
24---
25 c++/src/capnp/CMakeLists.txt | 15 ++++++++++++++-
26 1 file changed, 14 insertions(+), 1 deletion(-)
27
28diff --git a/c++/src/capnp/CMakeLists.txt b/c++/src/capnp/CMakeLists.txt
29index 9980fde6..8732db93 100644
30--- a/src/capnp/CMakeLists.txt
31+++ b/src/capnp/CMakeLists.txt
32@@ -210,7 +210,20 @@ if(NOT CAPNP_LITE)
33 target_link_libraries(capnpc_capnp capnp kj)
34 set_target_properties(capnpc_capnp PROPERTIES OUTPUT_NAME capnpc-capnp)
35
36- install(TARGETS capnp_tool capnpc_cpp capnpc_capnp ${INSTALL_TARGETS_DEFAULT_ARGS})
37+ if(NOT CMAKE_CROSSCOMPILING)
38+ install(TARGETS capnp_tool capnpc_cpp capnpc_capnp ${INSTALL_TARGETS_DEFAULT_ARGS})
39+ else()
40+ # INSTALL_TARGETS_CROSS_COMPILED_BINARY_ARGS is identical to INSTALL_TARGETS_DEFAULT_ARGS,
41+ # except that the installed files are not exported, so when the generated cmake file
42+ # is used by a find_package command, it won't try to find these files.
43+ set(INSTALL_TARGETS_CROSS_COMPILED_BINARY_ARGS
44+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
45+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
46+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
47+ )
48+
49+ install(TARGETS capnp_tool capnpc_cpp capnpc_capnp ${INSTALL_TARGETS_CROSS_COMPILED_BINARY_ARGS})
50+ endif()
51
52 if(WIN32)
53 # On Windows platforms symlinks are not guaranteed to support. Also different version of CMake handle create_symlink in a different way.
diff --git a/meta-oe/recipes-devtools/capnproto/capnproto_1.0.2.bb b/meta-oe/recipes-devtools/capnproto/capnproto_1.0.2.bb
index cb4aef5224..0ea243fd20 100644
--- a/meta-oe/recipes-devtools/capnproto/capnproto_1.0.2.bb
+++ b/meta-oe/recipes-devtools/capnproto/capnproto_1.0.2.bb
@@ -5,13 +5,16 @@ SECTION = "console/tools"
5LICENSE = "MIT" 5LICENSE = "MIT"
6LIC_FILES_CHKSUM = "file://../LICENSE;md5=a05663ae6cca874123bf667a60dca8c9" 6LIC_FILES_CHKSUM = "file://../LICENSE;md5=a05663ae6cca874123bf667a60dca8c9"
7 7
8SRC_URI = "git://github.com/sandstorm-io/capnproto.git;branch=release-${PV};protocol=https" 8SRC_URI = "git://github.com/sandstorm-io/capnproto.git;branch=release-${PV};protocol=https \
9 file://0001-Export-binaries-only-for-native-build.patch"
9SRCREV = "1a0e12c0a3ba1f0dbbad45ddfef555166e0a14fc" 10SRCREV = "1a0e12c0a3ba1f0dbbad45ddfef555166e0a14fc"
10 11
11S = "${WORKDIR}/git/c++" 12S = "${UNPACKDIR}/${BP}/c++"
12 13
13inherit cmake 14inherit cmake
14 15
16CVE_PRODUCT = "capnproto capnp"
17
15CXXFLAGS:append:mips = " -latomic" 18CXXFLAGS:append:mips = " -latomic"
16CXXFLAGS:append:powerpc = " -latomic" 19CXXFLAGS:append:powerpc = " -latomic"
17CXXFLAGS:append:riscv32 = " -latomic" 20CXXFLAGS:append:riscv32 = " -latomic"
diff --git a/meta-oe/recipes-devtools/cbindgen/cbindgen/0001-Define-more-ioctl-codes-on-riscv32gc-unknown-linux-g.patch b/meta-oe/recipes-devtools/cbindgen/cbindgen/0001-Define-more-ioctl-codes-on-riscv32gc-unknown-linux-g.patch
new file mode 100644
index 0000000000..75086aba75
--- /dev/null
+++ b/meta-oe/recipes-devtools/cbindgen/cbindgen/0001-Define-more-ioctl-codes-on-riscv32gc-unknown-linux-g.patch
@@ -0,0 +1,38 @@
1From 6ab6af57cbd3b3b0cd4ba04f7f65693e1ca69870 Mon Sep 17 00:00:00 2001
2From: Dan Gohman <dev@sunfishcode.online>
3Date: Sun, 6 Apr 2025 05:22:49 -0700
4Subject: [PATCH] Define more ioctl codes on riscv32gc-unknown-linux-gnu
5
6Define ioctl codes including `FICLONE` and `FS_IOC32_GETVERSION` on
7riscv32gc-unknown-linux-gnu.
8
9Upstream-Status: Submitted [https://github.com/rust-lang/libc/pull/4382]
10Signed-off-by: Khem Raj <raj.khem@gmail.com>
11---
12 src/unix/linux_like/linux/arch/generic/mod.rs | 6 +++++-
13 1 file changed, 5 insertions(+), 1 deletion(-)
14
15diff --git a/src/unix/linux_like/linux/arch/generic/mod.rs b/src/unix/linux_like/linux/arch/generic/mod.rs
16index 2f437e1..db1f1e7 100644
17--- a/src/unix/linux_like/linux/arch/generic/mod.rs
18+++ b/src/unix/linux_like/linux/arch/generic/mod.rs
19@@ -114,6 +114,7 @@ cfg_if! {
20 target_arch = "x86_64",
21 target_arch = "arm",
22 target_arch = "aarch64",
23+ target_arch = "riscv32",
24 target_arch = "riscv64",
25 target_arch = "s390x",
26 target_arch = "csky",
27@@ -218,7 +219,10 @@ cfg_if! {
28 // where S stands for size (int, long, struct...)
29 // where T stands for type ('f','v','X'...)
30 // where N stands for NR (NumbeR)
31- if #[cfg(any(target_arch = "x86", target_arch = "arm", target_arch = "csky"))] {
32+ if #[cfg(any(target_arch = "x86",
33+ target_arch = "arm",
34+ target_arch = "riscv32",
35+ target_arch = "csky"))] {
36 pub const FS_IOC_GETFLAGS: ::Ioctl = 0x80046601;
37 pub const FS_IOC_SETFLAGS: ::Ioctl = 0x40046602;
38 pub const FS_IOC_GETVERSION: ::Ioctl = 0x80047601;
diff --git a/meta-oe/recipes-devtools/cbindgen/cbindgen_0.28.0.bb b/meta-oe/recipes-devtools/cbindgen/cbindgen_0.28.0.bb
new file mode 100644
index 0000000000..8a6337a0d2
--- /dev/null
+++ b/meta-oe/recipes-devtools/cbindgen/cbindgen_0.28.0.bb
@@ -0,0 +1,148 @@
1SUMMARY = "cbindgen creates C/C++11 headers for Rust libraries which expose a public C API"
2HOMEPAGE = "https://github.com/mozilla/cbindgen"
3LICENSE = "MPL-2.0"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=9741c346eef56131163e13b9db1241b3"
5
6SRC_URI += "git://github.com/mozilla/cbindgen.git;protocol=https;branch=master \
7 file://0001-Define-more-ioctl-codes-on-riscv32gc-unknown-linux-g.patch;patchdir=${CARGO_VENDORING_DIRECTORY}/libc-0.2.155"
8SRCREV = "bd78bbe59b10eda6ef1255e4acda95c56c6d0279"
9
10inherit cargo pkgconfig
11
12SRC_URI += " \
13 crate://crates.io/anstream/0.6.15 \
14 crate://crates.io/anstyle-parse/0.2.5 \
15 crate://crates.io/anstyle-query/1.1.1 \
16 crate://crates.io/anstyle-wincon/3.0.4 \
17 crate://crates.io/anstyle/1.0.8 \
18 crate://crates.io/autocfg/1.3.0 \
19 crate://crates.io/bitflags/2.6.0 \
20 crate://crates.io/cfg-if/1.0.0 \
21 crate://crates.io/clap/4.5.15 \
22 crate://crates.io/clap_builder/4.5.15 \
23 crate://crates.io/clap_lex/0.7.2 \
24 crate://crates.io/colorchoice/1.0.2 \
25 crate://crates.io/dashmap/5.5.3 \
26 crate://crates.io/diff/0.1.13 \
27 crate://crates.io/equivalent/1.0.1 \
28 crate://crates.io/errno/0.3.9 \
29 crate://crates.io/fastrand/2.1.0 \
30 crate://crates.io/hashbrown/0.14.5 \
31 crate://crates.io/heck/0.4.1 \
32 crate://crates.io/indexmap/2.3.0 \
33 crate://crates.io/is_terminal_polyfill/1.70.1 \
34 crate://crates.io/itoa/1.0.11 \
35 crate://crates.io/lazy_static/1.5.0 \
36 crate://crates.io/libc/0.2.155 \
37 crate://crates.io/linux-raw-sys/0.4.14 \
38 crate://crates.io/lock_api/0.4.12 \
39 crate://crates.io/log/0.4.22 \
40 crate://crates.io/memchr/2.7.4 \
41 crate://crates.io/once_cell/1.19.0 \
42 crate://crates.io/parking_lot/0.12.3 \
43 crate://crates.io/parking_lot_core/0.9.10 \
44 crate://crates.io/pretty_assertions/1.4.0 \
45 crate://crates.io/proc-macro2/1.0.86 \
46 crate://crates.io/quote/1.0.36 \
47 crate://crates.io/redox_syscall/0.5.3 \
48 crate://crates.io/rustix/0.38.34 \
49 crate://crates.io/ryu/1.0.18 \
50 crate://crates.io/scopeguard/1.2.0 \
51 crate://crates.io/serde/1.0.205 \
52 crate://crates.io/serde_derive/1.0.205 \
53 crate://crates.io/serde_json/1.0.122 \
54 crate://crates.io/serde_spanned/0.6.7 \
55 crate://crates.io/serial_test/2.0.0 \
56 crate://crates.io/serial_test_derive/2.0.0 \
57 crate://crates.io/smallvec/1.13.2 \
58 crate://crates.io/strsim/0.11.1 \
59 crate://crates.io/syn/2.0.85 \
60 crate://crates.io/tempfile/3.12.0 \
61 crate://crates.io/toml/0.8.19 \
62 crate://crates.io/toml_datetime/0.6.8 \
63 crate://crates.io/toml_edit/0.22.20 \
64 crate://crates.io/unicode-ident/1.0.12 \
65 crate://crates.io/utf8parse/0.2.2 \
66 crate://crates.io/windows-sys/0.52.0 \
67 crate://crates.io/windows-sys/0.59.0 \
68 crate://crates.io/windows-targets/0.52.6 \
69 crate://crates.io/windows_aarch64_gnullvm/0.52.6 \
70 crate://crates.io/windows_aarch64_msvc/0.52.6 \
71 crate://crates.io/windows_i686_gnu/0.52.6 \
72 crate://crates.io/windows_i686_gnullvm/0.52.6 \
73 crate://crates.io/windows_i686_msvc/0.52.6 \
74 crate://crates.io/windows_x86_64_gnu/0.52.6 \
75 crate://crates.io/windows_x86_64_gnullvm/0.52.6 \
76 crate://crates.io/windows_x86_64_msvc/0.52.6 \
77 crate://crates.io/winnow/0.6.18 \
78 crate://crates.io/yansi/0.5.1 \
79"
80
81SRC_URI[anstream-0.6.15.sha256sum] = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526"
82SRC_URI[anstyle-parse-0.2.5.sha256sum] = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb"
83SRC_URI[anstyle-query-1.1.1.sha256sum] = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a"
84SRC_URI[anstyle-wincon-3.0.4.sha256sum] = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8"
85SRC_URI[anstyle-1.0.8.sha256sum] = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1"
86SRC_URI[autocfg-1.3.0.sha256sum] = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0"
87SRC_URI[bitflags-2.6.0.sha256sum] = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
88SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
89SRC_URI[clap-4.5.15.sha256sum] = "11d8838454fda655dafd3accb2b6e2bea645b9e4078abe84a22ceb947235c5cc"
90SRC_URI[clap_builder-4.5.15.sha256sum] = "216aec2b177652e3846684cbfe25c9964d18ec45234f0f5da5157b207ed1aab6"
91SRC_URI[clap_lex-0.7.2.sha256sum] = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97"
92SRC_URI[colorchoice-1.0.2.sha256sum] = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0"
93SRC_URI[dashmap-5.5.3.sha256sum] = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856"
94SRC_URI[diff-0.1.13.sha256sum] = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8"
95SRC_URI[equivalent-1.0.1.sha256sum] = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
96SRC_URI[errno-0.3.9.sha256sum] = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba"
97SRC_URI[fastrand-2.1.0.sha256sum] = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a"
98SRC_URI[hashbrown-0.14.5.sha256sum] = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
99SRC_URI[heck-0.4.1.sha256sum] = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
100SRC_URI[indexmap-2.3.0.sha256sum] = "de3fc2e30ba82dd1b3911c8de1ffc143c74a914a14e99514d7637e3099df5ea0"
101SRC_URI[is_terminal_polyfill-1.70.1.sha256sum] = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf"
102SRC_URI[itoa-1.0.11.sha256sum] = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
103SRC_URI[lazy_static-1.5.0.sha256sum] = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
104SRC_URI[libc-0.2.155.sha256sum] = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c"
105SRC_URI[linux-raw-sys-0.4.14.sha256sum] = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89"
106SRC_URI[lock_api-0.4.12.sha256sum] = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17"
107SRC_URI[log-0.4.22.sha256sum] = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24"
108SRC_URI[memchr-2.7.4.sha256sum] = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
109SRC_URI[once_cell-1.19.0.sha256sum] = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
110SRC_URI[parking_lot-0.12.3.sha256sum] = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27"
111SRC_URI[parking_lot_core-0.9.10.sha256sum] = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8"
112SRC_URI[pretty_assertions-1.4.0.sha256sum] = "af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66"
113SRC_URI[proc-macro2-1.0.86.sha256sum] = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77"
114SRC_URI[quote-1.0.36.sha256sum] = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"
115SRC_URI[redox_syscall-0.5.3.sha256sum] = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4"
116SRC_URI[rustix-0.38.34.sha256sum] = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f"
117SRC_URI[ryu-1.0.18.sha256sum] = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"
118SRC_URI[scopeguard-1.2.0.sha256sum] = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
119SRC_URI[serde-1.0.205.sha256sum] = "e33aedb1a7135da52b7c21791455563facbbcc43d0f0f66165b42c21b3dfb150"
120SRC_URI[serde_derive-1.0.205.sha256sum] = "692d6f5ac90220161d6774db30c662202721e64aed9058d2c394f451261420c1"
121SRC_URI[serde_json-1.0.122.sha256sum] = "784b6203951c57ff748476b126ccb5e8e2959a5c19e5c617ab1956be3dbc68da"
122SRC_URI[serde_spanned-0.6.7.sha256sum] = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d"
123SRC_URI[serial_test-2.0.0.sha256sum] = "0e56dd856803e253c8f298af3f4d7eb0ae5e23a737252cd90bb4f3b435033b2d"
124SRC_URI[serial_test_derive-2.0.0.sha256sum] = "91d129178576168c589c9ec973feedf7d3126c01ac2bf08795109aa35b69fb8f"
125SRC_URI[smallvec-1.13.2.sha256sum] = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
126SRC_URI[strsim-0.11.1.sha256sum] = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
127SRC_URI[syn-2.0.85.sha256sum] = "5023162dfcd14ef8f32034d8bcd4cc5ddc61ef7a247c024a33e24e1f24d21b56"
128SRC_URI[tempfile-3.12.0.sha256sum] = "04cbcdd0c794ebb0d4cf35e88edd2f7d2c4c3e9a5a6dab322839b321c6a87a64"
129SRC_URI[toml-0.8.19.sha256sum] = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e"
130SRC_URI[toml_datetime-0.6.8.sha256sum] = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41"
131SRC_URI[toml_edit-0.22.20.sha256sum] = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d"
132SRC_URI[unicode-ident-1.0.12.sha256sum] = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
133SRC_URI[utf8parse-0.2.2.sha256sum] = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
134SRC_URI[windows-sys-0.52.0.sha256sum] = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
135SRC_URI[windows-sys-0.59.0.sha256sum] = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
136SRC_URI[windows-targets-0.52.6.sha256sum] = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
137SRC_URI[windows_aarch64_gnullvm-0.52.6.sha256sum] = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
138SRC_URI[windows_aarch64_msvc-0.52.6.sha256sum] = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
139SRC_URI[windows_i686_gnu-0.52.6.sha256sum] = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
140SRC_URI[windows_i686_gnullvm-0.52.6.sha256sum] = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
141SRC_URI[windows_i686_msvc-0.52.6.sha256sum] = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
142SRC_URI[windows_x86_64_gnu-0.52.6.sha256sum] = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
143SRC_URI[windows_x86_64_gnullvm-0.52.6.sha256sum] = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
144SRC_URI[windows_x86_64_msvc-0.52.6.sha256sum] = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
145SRC_URI[winnow-0.6.18.sha256sum] = "68a9bda4691f099d435ad181000724da8e5899daa10713c2d432552b9ccd3a6f"
146SRC_URI[yansi-0.5.1.sha256sum] = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec"
147
148BBCLASSEXTEND += "native"
diff --git a/meta-oe/recipes-devtools/cgdb/cgdb_0.8.0.bb b/meta-oe/recipes-devtools/cgdb/cgdb_0.8.0.bb
index 922dfc7763..fbd3618b4f 100644
--- a/meta-oe/recipes-devtools/cgdb/cgdb_0.8.0.bb
+++ b/meta-oe/recipes-devtools/cgdb/cgdb_0.8.0.bb
@@ -13,6 +13,8 @@ SRC_URI = "http://cgdb.me/files/${BP}.tar.gz \
13 file://0001-cgdb-Do-not-search-for-cgdb.txt-in-build-dir.patch" 13 file://0001-cgdb-Do-not-search-for-cgdb.txt-in-build-dir.patch"
14SRC_URI[sha256sum] = "0d38b524d377257b106bad6d856d8ae3304140e1ee24085343e6ddf1b65811f1" 14SRC_URI[sha256sum] = "0d38b524d377257b106bad6d856d8ae3304140e1ee24085343e6ddf1b65811f1"
15 15
16EXTRA_AUTORECONF += "-I config"
17
16CACHED_CONFIGUREVARS = "ac_cv_file__dev_ptmx=yes ac_cv_rl_version=6.2 ac_cv_file__proc_self_status=yes" 18CACHED_CONFIGUREVARS = "ac_cv_file__dev_ptmx=yes ac_cv_rl_version=6.2 ac_cv_file__proc_self_status=yes"
17EXTRA_OECONF = "--with-readline=${STAGING_LIBDIR} \ 19EXTRA_OECONF = "--with-readline=${STAGING_LIBDIR} \
18 --with-ncurses=${STAGING_LIBDIR}" 20 --with-ncurses=${STAGING_LIBDIR}"
diff --git a/meta-oe/recipes-devtools/cjson/cjson_1.7.17.bb b/meta-oe/recipes-devtools/cjson/cjson_1.7.18.bb
index 6c8934b342..33c8c28531 100644
--- a/meta-oe/recipes-devtools/cjson/cjson_1.7.17.bb
+++ b/meta-oe/recipes-devtools/cjson/cjson_1.7.18.bb
@@ -7,9 +7,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=218947f77e8cb8e2fa02918dc41c50d0"
7SRC_URI = "git://github.com/DaveGamble/cJSON.git;branch=master;protocol=https \ 7SRC_URI = "git://github.com/DaveGamble/cJSON.git;branch=master;protocol=https \
8 file://run-ptest \ 8 file://run-ptest \
9 " 9 "
10SRCREV = "87d8f0961a01bf09bef98ff89bae9fdec42181ee" 10SRCREV = "acc76239bee01d8e9c858ae2cab296704e52d916"
11 11
12S = "${WORKDIR}/git"
13 12
14inherit cmake pkgconfig ptest 13inherit cmake pkgconfig ptest
15 14
@@ -24,6 +23,11 @@ do_install_ptest() {
24 sed s#${B}#${PTEST_PATH}# ${B}/CTestTestfile.cmake > ${D}${PTEST_PATH}/CTestTestfile.cmake 23 sed s#${B}#${PTEST_PATH}# ${B}/CTestTestfile.cmake > ${D}${PTEST_PATH}/CTestTestfile.cmake
25 sed s#${B}#${PTEST_PATH}# ${B}/tests/CTestTestfile.cmake > ${D}${PTEST_PATH}/tests/CTestTestfile.cmake 24 sed s#${B}#${PTEST_PATH}# ${B}/tests/CTestTestfile.cmake > ${D}${PTEST_PATH}/tests/CTestTestfile.cmake
26 sed s#${B}#${PTEST_PATH}# ${B}/fuzzing/CTestTestfile.cmake > ${D}${PTEST_PATH}/fuzzing/CTestTestfile.cmake 25 sed s#${B}#${PTEST_PATH}# ${B}/fuzzing/CTestTestfile.cmake > ${D}${PTEST_PATH}/fuzzing/CTestTestfile.cmake
26 # The cmake files also contain full paths to original CMakeLists.txt file in _BACKTRACE_TRIPLES property;
27 # these are not needed for successful ptests as we don't install the CMakeLists.txt files anyway.
28 sed -i s#${S}#${PTEST_PATH}#g ${D}${PTEST_PATH}/CTestTestfile.cmake
29 sed -i s#${S}#${PTEST_PATH}#g ${D}${PTEST_PATH}/tests/CTestTestfile.cmake
30 sed -i s#${S}#${PTEST_PATH}#g ${D}${PTEST_PATH}/fuzzing/CTestTestfile.cmake
27 # install test artifacts 31 # install test artifacts
28 install ${B}/cJSON_test ${D}${PTEST_PATH} 32 install ${B}/cJSON_test ${D}${PTEST_PATH}
29 install ${B}/tests/cjson_add ${B}/tests/*_tests ${B}/tests/parse_* ${B}/tests/print_* ${B}/tests/readme_examples ${D}${PTEST_PATH}/tests/ 33 install ${B}/tests/cjson_add ${B}/tests/*_tests ${B}/tests/parse_* ${B}/tests/print_* ${B}/tests/readme_examples ${D}${PTEST_PATH}/tests/
diff --git a/meta-oe/recipes-devtools/cloc/cloc_1.98.bb b/meta-oe/recipes-devtools/cloc/cloc_1.98.bb
index ea5f00669f..6d349c1e58 100644
--- a/meta-oe/recipes-devtools/cloc/cloc_1.98.bb
+++ b/meta-oe/recipes-devtools/cloc/cloc_1.98.bb
@@ -1,13 +1,14 @@
1SUMMARY = "Count blank lines, comment lines, and physical lines of source code \ 1SUMMARY = "Count blank lines, comment lines, and physical lines of source code \
2in many programming languages." 2in many programming languages."
3 3
4LICENSE="GPL-2.0-only" 4LICENSE = "GPL-2.0-only"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=2c1c00f9d3ed9e24fa69b932b7e7aff2" 5LIC_FILES_CHKSUM = "file://LICENSE;md5=2c1c00f9d3ed9e24fa69b932b7e7aff2"
6 6
7SRC_URI = "https://github.com/AlDanial/cloc/releases/download/v${PV}/${BP}.tar.gz" 7SRC_URI = "https://github.com/AlDanial/cloc/releases/download/v${PV}/${BP}.tar.gz"
8SRC_URI[sha256sum] = "5fe0b159eb75718df7308a4f61470eaddf82170733929999e37a3fbb4651cf8a" 8SRC_URI[sha256sum] = "5fe0b159eb75718df7308a4f61470eaddf82170733929999e37a3fbb4651cf8a"
9 9
10UPSTREAM_CHECK_URI = "https://github.com/AlDanial/${BPN}/releases" 10UPSTREAM_CHECK_URI = "https://github.com/AlDanial/${BPN}/releases"
11UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)"
11 12
12do_configure[noexec] = "1" 13do_configure[noexec] = "1"
13do_compile[noexec] = "1" 14do_compile[noexec] = "1"
diff --git a/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb b/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb
index 47a3d88853..ab4e6148e9 100644
--- a/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb
+++ b/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb
@@ -14,7 +14,6 @@ SRC_URI = "git://github.com/concurrencykit/ck.git;branch=master;protocol=https \
14 file://0001-configure-Fix-compoiler-detection-logic-for-cross-co.patch \ 14 file://0001-configure-Fix-compoiler-detection-logic-for-cross-co.patch \
15 file://0001-build-Use-ilp32d-abi-on-riscv32-and-lp64d-on-rv64.patch" 15 file://0001-build-Use-ilp32d-abi-on-riscv32-and-lp64d-on-rv64.patch"
16 16
17S = "${WORKDIR}/git"
18 17
19COMPATIBLE_HOST = "(arm|aarch64|i.86|x86_64|powerpc|powerpc64|riscv32|riscv64).*-linux*" 18COMPATIBLE_HOST = "(arm|aarch64|i.86|x86_64|powerpc|powerpc64|riscv32|riscv64).*-linux*"
20 19
diff --git a/meta-oe/recipes-devtools/cppgenerate/cppgenerate_0.3.bb b/meta-oe/recipes-devtools/cppgenerate/cppgenerate_0.3.bb
new file mode 100644
index 0000000000..6e709b6e7e
--- /dev/null
+++ b/meta-oe/recipes-devtools/cppgenerate/cppgenerate_0.3.bb
@@ -0,0 +1,13 @@
1SUMMARY = "C++ Code Generator library"
2BUGTRACKER = "https://github.com/rm5248/libcppgenerate/issues"
3SECTION = "libs"
4LICENSE = "Apache-2.0"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc"
6
7SRC_URI = "git://github.com/rm5248/libcppgenerate.git;branch=master;protocol=https"
8SRCREV = "930c5503f76c877b72b9ff8546353d6f422bd010"
9
10
11inherit cmake
12
13BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/cpuid/cpuid_20230614.bb b/meta-oe/recipes-devtools/cpuid/cpuid_20230614.bb
index ed339e0160..36614ca19d 100644
--- a/meta-oe/recipes-devtools/cpuid/cpuid_20230614.bb
+++ b/meta-oe/recipes-devtools/cpuid/cpuid_20230614.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "cpuid dumps detailed information about the CPU(s) gathered \
3from the CPUID instruction, and also determines the exact model of CPU(s). \ 3from the CPUID instruction, and also determines the exact model of CPU(s). \
4It supports Intel, AMD, and VIA CPUs, as well as older Transmeta, Cyrix, \ 4It supports Intel, AMD, and VIA CPUs, as well as older Transmeta, Cyrix, \
5UMC, NexGen, Rise, and SiS CPUs" 5UMC, NexGen, Rise, and SiS CPUs"
6HOMEPAGE="http://www.etallen.com/cpuid.html" 6HOMEPAGE = "http://www.etallen.com/cpuid.html"
7LICENSE = "GPL-2.0-only" 7LICENSE = "GPL-2.0-only"
8LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263" 8LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
9 9
@@ -17,9 +17,7 @@ COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
17inherit perlnative 17inherit perlnative
18 18
19do_install () { 19do_install () {
20 oe_runmake DESTDIR=${D} bindir=${bindir} mandir=${mandir} install 20 oe_runmake DESTDIR=${D} bindir=${bindir} mandir=${mandir} INSTALL_STRIP="" install
21} 21}
22 22
23RDEPENDS:${PN} = "perl" 23RDEPENDS:${PN} = "perl"
24
25INSANE_SKIP:${PN} += "already-stripped"
diff --git a/meta-oe/recipes-devtools/cpuset/cpuset_1.6.2.bb b/meta-oe/recipes-devtools/cpuset/cpuset_1.6.2.bb
new file mode 100644
index 0000000000..98419a8069
--- /dev/null
+++ b/meta-oe/recipes-devtools/cpuset/cpuset_1.6.2.bb
@@ -0,0 +1,12 @@
1SUMMARY = "Cpuset manipulation tool"
2HOMEPAGE = "https://github.com/SUSE/cpuset"
3LICENSE = "GPL-2.0-only"
4LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
5
6SRC_URI = "git://github.com/SUSE/cpuset.git;protocol=https;branch=master"
7
8SRCREV = "4f80263208935f0df4f616cf9d8cb7285599a670"
9
10inherit setuptools3
11
12RDEPENDS:${PN} += "python3-core python3-logging python3-pydoc"
diff --git a/meta-oe/recipes-devtools/cscope/cscope_15.9.bb b/meta-oe/recipes-devtools/cscope/cscope_15.9.bb
index 99f3ba85de..fad885dd43 100644
--- a/meta-oe/recipes-devtools/cscope/cscope_15.9.bb
+++ b/meta-oe/recipes-devtools/cscope/cscope_15.9.bb
@@ -20,5 +20,4 @@ DEPENDS += "ncurses"
20 20
21SRC_URI = "http://downloads.sourceforge.net/project/cscope/cscope/v${PV}/${BP}.tar.gz" 21SRC_URI = "http://downloads.sourceforge.net/project/cscope/cscope/v${PV}/${BP}.tar.gz"
22 22
23SRC_URI[md5sum] = "16f3cce078b6c0e42299def4028eea6f"
24SRC_URI[sha256sum] = "c5505ae075a871a9cd8d9801859b0ff1c09782075df281c72c23e72115d9f159" 23SRC_URI[sha256sum] = "c5505ae075a871a9cd8d9801859b0ff1c09782075df281c72c23e72115d9f159"
diff --git a/meta-oe/recipes-devtools/ctags/ctags_6.1.20240310.0.bb b/meta-oe/recipes-devtools/ctags/ctags_6.2.20250615.0.bb
index d4ffbb7f03..c794278f57 100644
--- a/meta-oe/recipes-devtools/ctags/ctags_6.1.20240310.0.bb
+++ b/meta-oe/recipes-devtools/ctags/ctags_6.2.20250615.0.bb
@@ -14,10 +14,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
14 14
15inherit autotools-brokensep pkgconfig manpages 15inherit autotools-brokensep pkgconfig manpages
16 16
17SRCREV = "38fd8e39b877a79666393b90e38400fd8d7d5d14" 17SRCREV = "0644fb80a8250cc3ca6ba00037e490768fe4492e"
18SRC_URI = "git://github.com/universal-ctags/ctags;branch=master;protocol=https" 18SRC_URI = "git://github.com/universal-ctags/ctags;branch=master;protocol=https;tag=p${PV}"
19 19
20S = "${WORKDIR}/git"
21 20
22PACKAGECONFIG ??= " \ 21PACKAGECONFIG ??= " \
23 readcmd \ 22 readcmd \
diff --git a/meta-oe/recipes-devtools/debootstrap/debootstrap/0001-support-to-override-usr-sbin-and-usr-share.patch b/meta-oe/recipes-devtools/debootstrap/debootstrap/0001-support-to-override-usr-sbin-and-usr-share.patch
index 12dd238108..faa66e0268 100644
--- a/meta-oe/recipes-devtools/debootstrap/debootstrap/0001-support-to-override-usr-sbin-and-usr-share.patch
+++ b/meta-oe/recipes-devtools/debootstrap/debootstrap/0001-support-to-override-usr-sbin-and-usr-share.patch
@@ -1,20 +1,20 @@
1From 87d0174e8d56e7458dc94f05f82ab7a67a5cf7d0 Mon Sep 17 00:00:00 2001 1From 6c8b0a3f9c09a7a135d95ff18038bcba22e87b86 Mon Sep 17 00:00:00 2001
2From: Hongxu Jia <hongxu.jia@windriver.com> 2From: Hongxu Jia <hongxu.jia@windriver.com>
3Date: Thu, 8 Apr 2021 14:06:05 +0800 3Date: Thu, 8 Apr 2021 14:06:05 +0800
4Subject: [PATCH 1/2] support to override /usr/sbin and /usr/share 4Subject: [PATCH] support to override /usr/sbin and /usr/share
5 5
6Upstream-Status: Submitted [https://salsa.debian.org/installer-team/debootstrap/-/merge_requests/55] 6Upstream-Status: Submitted [https://salsa.debian.org/installer-team/debootstrap/-/merge_requests/55]
7 7
8Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> 8Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
9--- 9---
10 Makefile | 12 +++++++----- 10 Makefile | 10 ++++++----
11 1 file changed, 7 insertions(+), 5 deletions(-) 11 1 file changed, 6 insertions(+), 4 deletions(-)
12 12
13diff --git a/Makefile b/Makefile 13diff --git a/Makefile b/Makefile
14index 8516803..a2d8c00 100644 14index 21a9a39..649f465 100644
15--- a/Makefile 15--- a/Makefile
16+++ b/Makefile 16+++ b/Makefile
17@@ -5,14 +5,16 @@ all: 17@@ -5,13 +5,15 @@ all:
18 18
19 clean: 19 clean:
20 20
@@ -28,14 +28,12 @@ index 8516803..a2d8c00 100644
28+ mkdir -p $(DESTDIR)$(sbindir) 28+ mkdir -p $(DESTDIR)$(sbindir)
29 29
30 cp -a scripts/* $(DSDIR)/scripts/ 30 cp -a scripts/* $(DSDIR)/scripts/
31 install -o root -g root -m 0644 functions $(DSDIR)/ 31 install -m 0644 functions $(DSDIR)/
32 32
33- sed 's/@VERSION@/$(VERSION)/g' debootstrap >$(DESTDIR)/usr/sbin/debootstrap 33- sed 's/@VERSION@/$(VERSION)/g' debootstrap >$(DESTDIR)/usr/sbin/debootstrap
34- chown root:root $(DESTDIR)/usr/sbin/debootstrap
35- chmod 0755 $(DESTDIR)/usr/sbin/debootstrap 34- chmod 0755 $(DESTDIR)/usr/sbin/debootstrap
36+ sed 's/@VERSION@/$(VERSION)/g' debootstrap >$(DESTDIR)$(sbindir)/debootstrap 35+ sed 's/@VERSION@/$(VERSION)/g' debootstrap >$(DESTDIR)$(sbindir)/debootstrap
37+ chown root:root $(DESTDIR)$(sbindir)/debootstrap
38+ chmod 0755 $(DESTDIR)$(sbindir)/debootstrap 36+ chmod 0755 $(DESTDIR)$(sbindir)/debootstrap
39-- 37--
402.17.1 382.25.1
41 39
diff --git a/meta-oe/recipes-devtools/debootstrap/debootstrap/0002-support-to-override-usr-bin-arch-test.patch b/meta-oe/recipes-devtools/debootstrap/debootstrap/0002-support-to-override-usr-bin-arch-test.patch
index 69329df4ea..daec80f614 100644
--- a/meta-oe/recipes-devtools/debootstrap/debootstrap/0002-support-to-override-usr-bin-arch-test.patch
+++ b/meta-oe/recipes-devtools/debootstrap/debootstrap/0002-support-to-override-usr-bin-arch-test.patch
@@ -1,7 +1,7 @@
1From f0420b201f2fb5286ccf5657faa6b38cd2680e10 Mon Sep 17 00:00:00 2001 1From b7a476cbcd507c03094811690d5497a7e9e15afc Mon Sep 17 00:00:00 2001
2From: Hongxu Jia <hongxu.jia@windriver.com> 2From: Hongxu Jia <hongxu.jia@windriver.com>
3Date: Thu, 8 Apr 2021 14:08:06 +0800 3Date: Thu, 8 Apr 2021 14:08:06 +0800
4Subject: [PATCH 2/2] support to override /usr/bin/arch-test 4Subject: [PATCH] support to override /usr/bin/arch-test
5 5
6Upstream-Status: Submitted [https://salsa.debian.org/installer-team/debootstrap/-/merge_requests/55] 6Upstream-Status: Submitted [https://salsa.debian.org/installer-team/debootstrap/-/merge_requests/55]
7 7
@@ -11,12 +11,12 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
11 1 file changed, 8 insertions(+), 4 deletions(-) 11 1 file changed, 8 insertions(+), 4 deletions(-)
12 12
13diff --git a/debootstrap b/debootstrap 13diff --git a/debootstrap b/debootstrap
14index 9b9e58d..a3cf3af 100755 14index 43a7383..0cce33e 100755
15--- a/debootstrap 15--- a/debootstrap
16+++ b/debootstrap 16+++ b/debootstrap
17@@ -51,6 +51,10 @@ INRELEASE_PATH="" 17@@ -51,6 +51,10 @@ INRELEASE_PATH=""
18
18 DEF_MIRROR="http://deb.debian.org/debian" 19 DEF_MIRROR="http://deb.debian.org/debian"
19 DEF_HTTPS_MIRROR="https://deb.debian.org/debian"
20 20
21+if [ -z "$ARCH_TEST" ]; then 21+if [ -z "$ARCH_TEST" ]; then
22+ ARCH_TEST="/usr/bin/arch-test" 22+ ARCH_TEST="/usr/bin/arch-test"
@@ -25,7 +25,7 @@ index 9b9e58d..a3cf3af 100755
25 # set $CONTAINER 25 # set $CONTAINER
26 detect_container 26 detect_container
27 27
28@@ -645,12 +649,12 @@ fi 28@@ -666,12 +670,12 @@ fi
29 29
30 ########################################################################### 30 ###########################################################################
31 31
@@ -42,6 +42,3 @@ index 9b9e58d..a3cf3af 100755
42 else 42 else
43 ret=3 43 ret=3
44 fi 44 fi
45--
462.17.1
47
diff --git a/meta-oe/recipes-devtools/debootstrap/debootstrap/0001-do-not-hardcode-the-full-path-of-dpkg.patch b/meta-oe/recipes-devtools/debootstrap/debootstrap/0003-do-not-hardcode-the-full-path-of-dpkg.patch
index 2a5f233165..0c1a7a65a8 100644
--- a/meta-oe/recipes-devtools/debootstrap/debootstrap/0001-do-not-hardcode-the-full-path-of-dpkg.patch
+++ b/meta-oe/recipes-devtools/debootstrap/debootstrap/0003-do-not-hardcode-the-full-path-of-dpkg.patch
@@ -1,4 +1,4 @@
1From e735fb23f46f0c3c7a1144ba6b4050bfc0015a05 Mon Sep 17 00:00:00 2001 1From 33c4bc9540d6d9aee6d885b89d530130d50b8052 Mon Sep 17 00:00:00 2001
2From: Hongxu Jia <hongxu.jia@windriver.com> 2From: Hongxu Jia <hongxu.jia@windriver.com>
3Date: Wed, 2 Jun 2021 13:34:35 +0800 3Date: Wed, 2 Jun 2021 13:34:35 +0800
4Subject: [PATCH] do not hardcode the full path of dpkg 4Subject: [PATCH] do not hardcode the full path of dpkg
@@ -16,10 +16,10 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
16 1 file changed, 1 insertion(+), 1 deletion(-) 16 1 file changed, 1 insertion(+), 1 deletion(-)
17 17
18diff --git a/debootstrap b/debootstrap 18diff --git a/debootstrap b/debootstrap
19index a3cf3af..5e96c3e 100755 19index 0cce33e..7586c58 100755
20--- a/debootstrap 20--- a/debootstrap
21+++ b/debootstrap 21+++ b/debootstrap
22@@ -538,7 +538,7 @@ fi 22@@ -553,7 +553,7 @@ fi
23 23
24 if in_path dpkg && \ 24 if in_path dpkg && \
25 dpkg --print-architecture >/dev/null 2>&1; then 25 dpkg --print-architecture >/dev/null 2>&1; then
@@ -28,6 +28,3 @@ index a3cf3af..5e96c3e 100755
28 elif in_path udpkg && \ 28 elif in_path udpkg && \
29 udpkg --print-architecture >/dev/null 2>&1; then 29 udpkg --print-architecture >/dev/null 2>&1; then
30 HOST_ARCH=$(/usr/bin/udpkg --print-architecture) 30 HOST_ARCH=$(/usr/bin/udpkg --print-architecture)
31--
322.27.0
33
diff --git a/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.132.bb b/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.141.bb
index c28a51749c..9287962ab7 100644
--- a/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.132.bb
+++ b/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.141.bb
@@ -2,18 +2,18 @@ SUMMARY = "Install a Debian system into a subdirectory"
2HOMEPAGE = "https://wiki.debian.org/Debootstrap" 2HOMEPAGE = "https://wiki.debian.org/Debootstrap"
3SECTION = "devel" 3SECTION = "devel"
4LICENSE = "MIT" 4LICENSE = "MIT"
5LIC_FILES_CHKSUM = "file://debian/copyright;md5=1e68ced6e1689d4cd9dac75ff5225608" 5LIC_FILES_CHKSUM = "file://debian/copyright;md5=e7b45429ef05610abf91ac199fdb3a6e"
6 6
7SRC_URI = "\ 7SRC_URI = "\
8 ${DEBIAN_MIRROR}/main/d/debootstrap/debootstrap_${PV}.tar.gz \ 8 ${DEBIAN_MIRROR}/main/d/debootstrap/debootstrap_${PV}.tar.gz \
9 file://0001-support-to-override-usr-sbin-and-usr-share.patch \ 9 file://0001-support-to-override-usr-sbin-and-usr-share.patch \
10 file://0002-support-to-override-usr-bin-arch-test.patch \ 10 file://0002-support-to-override-usr-bin-arch-test.patch \
11 file://0001-do-not-hardcode-the-full-path-of-dpkg.patch \ 11 file://0003-do-not-hardcode-the-full-path-of-dpkg.patch \
12" 12"
13 13
14SRC_URI[sha256sum] = "d963a465314ac0e8fd5392573def042e6663e8edf3d08ace4bbd0d27ee8431f7" 14SRC_URI[sha256sum] = "232ec755f4b1f445f829996885846abba6f1b6fd55d049476ab26ddd8c4b4e1b"
15 15
16S = "${WORKDIR}/debootstrap" 16S = "${UNPACKDIR}/debootstrap"
17 17
18DEPENDS = " \ 18DEPENDS = " \
19 virtual/fakeroot-native \ 19 virtual/fakeroot-native \
diff --git a/meta-oe/recipes-devtools/dmalloc/dmalloc_5.5.2.bb b/meta-oe/recipes-devtools/dmalloc/dmalloc_5.5.2.bb
index 2f0d8a3400..79252f94ae 100644
--- a/meta-oe/recipes-devtools/dmalloc/dmalloc_5.5.2.bb
+++ b/meta-oe/recipes-devtools/dmalloc/dmalloc_5.5.2.bb
@@ -28,7 +28,6 @@ SRC_URI = "http://dmalloc.com/releases/dmalloc-${PV}.tgz \
28 file://0001-undefined-strdup-macro.patch \ 28 file://0001-undefined-strdup-macro.patch \
29" 29"
30 30
31SRC_URI[md5sum] = "f92e5606c23a8092f3d5694e8d1c932e"
32SRC_URI[sha256sum] = "d3be5c6eec24950cb3bd67dbfbcdf036f1278fae5fd78655ef8cdf9e911e428a" 31SRC_URI[sha256sum] = "d3be5c6eec24950cb3bd67dbfbcdf036f1278fae5fd78655ef8cdf9e911e428a"
33 32
34ARM_INSTRUCTION_SET = "arm" 33ARM_INSTRUCTION_SET = "arm"
diff --git a/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_1.4.bb b/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_1.4.bb
index 479b98d44d..bc558b7d62 100644
--- a/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_1.4.bb
+++ b/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_1.4.bb
@@ -10,7 +10,6 @@ SRC_URI:append:class-target = " file://oe-remote.repo.sample"
10 10
11inherit setuptools3-base 11inherit setuptools3-base
12 12
13S = "${WORKDIR}/git"
14 13
15do_install:append() { 14do_install:append() {
16 install -d ${D}${datadir}/dnf 15 install -d ${D}${datadir}/dnf
@@ -24,7 +23,7 @@ do_install:append() {
24 23
25do_install:append:class-target() { 24do_install:append:class-target() {
26 install -d ${D}${sysconfdir}/yum.repos.d 25 install -d ${D}${sysconfdir}/yum.repos.d
27 install -m 0644 ${WORKDIR}/oe-remote.repo.sample ${D}${sysconfdir}/yum.repos.d 26 install -m 0644 ${UNPACKDIR}/oe-remote.repo.sample ${D}${sysconfdir}/yum.repos.d
28} 27}
29 28
30do_install:append:class-nativesdk() { 29do_install:append:class-nativesdk() {
diff --git a/meta-oe/recipes-devtools/doxygen/doxygen/0001-build-don-t-look-for-Iconv.patch b/meta-oe/recipes-devtools/doxygen/doxygen/0001-build-don-t-look-for-Iconv.patch
deleted file mode 100644
index 47c8edb497..0000000000
--- a/meta-oe/recipes-devtools/doxygen/doxygen/0001-build-don-t-look-for-Iconv.patch
+++ /dev/null
@@ -1,37 +0,0 @@
1From 24650b0c7db6b213a2eaa5061b75b9f1b43f1ce9 Mon Sep 17 00:00:00 2001
2From: Bartosz Golaszewski <brgl@bgdev.pl>
3Date: Fri, 23 Nov 2018 11:44:56 +0100
4Subject: [PATCH] build: don't look for Iconv
5
6Drop the find_package() for Iconv. CMake is unable to find iconv.h in
7native build but all modern systems supply it as part of the standard
8C library. We don't need this check in meta-openembedded.
9
10Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
11Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
12
13Upstream-Status: Inappropriate
14- upstream doxygen must build on many architectures, this change is
15 too intrusive for upstream
16---
17 CMakeLists.txt | 4 ----
18 1 file changed, 4 deletions(-)
19
20diff --git a/CMakeLists.txt b/CMakeLists.txt
21index 06b9696f..f30b46b8 100644
22--- a/CMakeLists.txt
23+++ b/CMakeLists.txt
24@@ -117,10 +117,6 @@ if (sqlite3)
25 endif()
26 endif()
27
28-find_package(Iconv REQUIRED)
29-include_directories(${ICONV_INCLUDE_DIR})
30-
31-
32 #set(DOXYDOCS ${PROJECT_SOURCE_DIR}/doc CACHE INTERNAL "Path to doxygen docs")
33 set(DOXYDOCS ${PROJECT_BINARY_DIR}/doc)
34 set(ENV{DOXYGEN_DOCDIR} ${DOXYDOCS})
35--
362.27.0
37
diff --git a/meta-oe/recipes-devtools/doxygen/doxygen/doxygen-native-only-check-python3.patch b/meta-oe/recipes-devtools/doxygen/doxygen/doxygen-native-only-check-python3.patch
deleted file mode 100644
index 796bc61ddc..0000000000
--- a/meta-oe/recipes-devtools/doxygen/doxygen/doxygen-native-only-check-python3.patch
+++ /dev/null
@@ -1,232 +0,0 @@
1From daf686508f2ee4711d93e96e5b100e50bf161656 Mon Sep 17 00:00:00 2001
2From: Leon Anavi <leon.anavi@konsulko.com>
3Date: Wed, 26 Aug 2020 10:52:10 +0300
4Subject: [PATCH] doxygen: Fix Python issues for doxygen-native
5
6It fails to compile doxygen-native when /usr/bin/python is a link
7to python3 on build host:
8
9| Failed to import the site module
10| Traceback (most recent call last):
11| File "/usr/lib64/python3.6/site.py", line 564, in <module>
12| main()
13| File "/usr/lib64/python3.6/site.py", line 550, in main
14| known_paths = addusersitepackages(known_paths)
15| File "/usr/lib64/python3.6/site.py", line 282, in addusersitepackages
16| user_site = getusersitepackages()
17| File "/usr/lib64/python3.6/site.py", line 258, in getusersitepackages
18| user_base = getuserbase() # this will also set USER_BASE
19| File "/usr/lib64/python3.6/site.py", line 248, in getuserbase
20| USER_BASE = get_config_var('userbase')
21| File "/usr/lib64/python3.6/sysconfig.py", line 604, in get_config_var
22| return get_config_vars().get(name)
23| File "/usr/lib64/python3.6/sysconfig.py", line 553, in get_config_vars
24| _init_posix(_CONFIG_VARS)
25| File "/usr/lib64/python3.6/sysconfig.py", line 424, in _init_posix
26| _temp = __import__(name, globals(), locals(), ['build_time_vars'], 0)
27| ModuleNotFoundError: No module named '_sysconfigdata'
28
29Replace find_package PythonInterp with Python3 to fix this issue
30that it uses python3 from python3-native. And it also replaces the
31result variable PYTHON_EXECUTABLE with Python3_EXECUTABLE.
32
33This patch is only needded by doxygen-native.
34
35Updated to apply to release 1.9.1.
36
37Upstream-Status: Inappropriate [oe specific]
38
39Co-Authored-By: Kai Kang <kai.kang@windriver.com>
40Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
41Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
42
43---
44 CMakeLists.txt | 2 +-
45 addon/doxywizard/CMakeLists.txt | 6 +++---
46 doc/CMakeLists.txt | 6 +++---
47 examples/CMakeLists.txt | 4 ++--
48 libmscgen/CMakeLists.txt | 2 +-
49 src/CMakeLists.txt | 10 +++++-----
50 testing/CMakeLists.txt | 4 ++--
51 7 files changed, 17 insertions(+), 17 deletions(-)
52
53diff --git a/CMakeLists.txt b/CMakeLists.txt
54index 2455793..28f0d83 100644
55--- a/CMakeLists.txt
56+++ b/CMakeLists.txt
57@@ -105,7 +105,7 @@ else ()
58 endif ()
59
60 find_program(DOT NAMES dot)
61-find_package(PythonInterp REQUIRED)
62+find_package(Python3 REQUIRED)
63 find_package(FLEX REQUIRED)
64 find_package(BISON REQUIRED)
65 if (BISON_VERSION VERSION_LESS 2.7)
66diff --git a/addon/doxywizard/CMakeLists.txt b/addon/doxywizard/CMakeLists.txt
67index 63ac8e3..d37d1d0 100644
68--- a/addon/doxywizard/CMakeLists.txt
69+++ b/addon/doxywizard/CMakeLists.txt
70@@ -57,7 +57,7 @@ set_source_files_properties(${GENERATED_SRC_WIZARD}/settings.h PROPERTIES GENERA
71
72 # generate version.cpp
73 add_custom_command(
74- COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/version.py ${VERSION} > ${GENERATED_SRC_WIZARD}/version.cpp
75+ COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/version.py ${VERSION} > ${GENERATED_SRC_WIZARD}/version.cpp
76 DEPENDS ${PROJECT_SOURCE_DIR}/VERSION ${PROJECT_SOURCE_DIR}/src/version.py
77 OUTPUT ${GENERATED_SRC_WIZARD}/version.cpp
78 )
79@@ -65,7 +65,7 @@ set_source_files_properties(${GENERATED_SRC_WIZARD}/version.cpp PROPERTIES GENER
80
81 # generate configdoc.cpp
82 add_custom_command(
83- COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/configgen.py -wiz ${PROJECT_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC_WIZARD}/configdoc.cpp
84+ COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/configgen.py -wiz ${PROJECT_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC_WIZARD}/configdoc.cpp
85 DEPENDS ${PROJECT_SOURCE_DIR}/src/configgen.py ${PROJECT_SOURCE_DIR}/src/config.xml
86 OUTPUT ${GENERATED_SRC_WIZARD}/configdoc.cpp
87 )
88@@ -74,7 +74,7 @@ set_source_files_properties(${GENERATED_SRC_WIZARD}/configdoc.cpp PROPERTIES GEN
89 set(LEX_FILES config_doxyw)
90 foreach(lex_file ${LEX_FILES})
91 add_custom_command(
92- COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/scan_states.py ${PROJECT_SOURCE_DIR}/addon/doxywizard/${lex_file}.l > ${GENERATED_SRC_WIZARD}/${lex_file}.l.h
93+ COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/scan_states.py ${PROJECT_SOURCE_DIR}/addon/doxywizard/${lex_file}.l > ${GENERATED_SRC_WIZARD}/${lex_file}.l.h
94 DEPENDS ${PROJECT_SOURCE_DIR}/src/scan_states.py ${PROJECT_SOURCE_DIR}/addon/doxywizard/${lex_file}.l
95 OUTPUT ${GENERATED_SRC_WIZARD}/${lex_file}.l.h
96 )
97diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
98index ec63ceb..49a2bda 100644
99--- a/doc/CMakeLists.txt
100+++ b/doc/CMakeLists.txt
101@@ -168,7 +168,7 @@ configure_file(${PROJECT_SOURCE_DIR}/doc/doxyindexer.1 ${PROJECT_BINARY_DIR
102
103 # doc/language.doc (see tag Doxyfile:INPUT)
104 add_custom_command(
105- COMMAND ${PYTHON_EXECUTABLE} translator.py ${PROJECT_SOURCE_DIR}
106+ COMMAND ${Python3_EXECUTABLE} translator.py ${PROJECT_SOURCE_DIR}
107 DEPENDS ${PROJECT_SOURCE_DIR}/doc/maintainers.txt ${PROJECT_SOURCE_DIR}/doc/language.tpl ${PROJECT_BINARY_DIR}/doc/translator.py ${LANG_FILES}
108 OUTPUT language.doc
109 WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/doc
110@@ -177,7 +177,7 @@ set_source_files_properties(language.doc PROPERTIES GENERATED 1)
111
112 # doc/config.doc (see tag Doxyfile:INPUT)
113 add_custom_command(
114- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/src/configgen.py -doc ${TOP}/src/config.xml > config.doc
115+ COMMAND ${Python3_EXECUTABLE} ${TOP}/src/configgen.py -doc ${TOP}/src/config.xml > config.doc
116 DEPENDS ${TOP}/src/config.xml ${TOP}/src/configgen.py
117 OUTPUT config.doc
118 WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/doc/
119@@ -228,7 +228,7 @@ add_custom_target(docs_chm
120 COMMAND ${CMAKE_COMMAND} -E echo " for file in files:" >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py
121 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
122 COMMAND ${CMAKE_COMMAND} -E echo " print(os.path.join(root, file))" >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py
123- 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
124+ 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
125 COMMAND ${CMAKE_COMMAND} -E chdir ${PROJECT_BINARY_DIR}/chm "${HTML_HELP_COMPILER}" doxygen_manual.hhp || echo > nul
126 COMMAND ${CMAKE_COMMAND} -E rename ${PROJECT_BINARY_DIR}/chm/index.chm ${PROJECT_BINARY_DIR}/chm/doxygen_manual.chm
127 DEPENDS ${PROJECT_BINARY_DIR}/doc/language.doc ${PROJECT_BINARY_DIR}/doc/config.doc
128diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
129index 194b427..248b807 100644
130--- a/examples/CMakeLists.txt
131+++ b/examples/CMakeLists.txt
132@@ -54,7 +54,7 @@ foreach (f_inp ${BASIC_EXAMPLES})
133 COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/html/examples/${f}
134 COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/latex/examples/${f}
135 COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen ${f}.cfg
136- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/latex/examples/${f}/latex/refman.tex > ${PROJECT_BINARY_DIR}/latex/examples/${f}/latex/refman_doc.tex
137+ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/latex/examples/${f}/latex/refman.tex > ${PROJECT_BINARY_DIR}/latex/examples/${f}/latex/refman_doc.tex
138 DEPENDS doxygen ${f}.${f_ext} ${f}.cfg ${TOP}/examples/strip_example.py
139 OUTPUT ${PROJECT_BINARY_DIR}/html/examples/${f}/html/index.html ${PROJECT_BINARY_DIR}/latex/examples/${f}/latex/refman_doc.tex
140 )
141@@ -73,7 +73,7 @@ if (DOT)
142 COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/html/examples/diagrams
143 COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/latex/examples/diagrams
144 COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen diagrams.cfg
145- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/latex/examples/diagrams/latex/refman.tex > ${PROJECT_BINARY_DIR}/latex/examples/diagrams/latex/refman_doc.tex
146+ 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
147 DEPENDS doxygen diagrams_a.h diagrams_b.h diagrams_c.h diagrams_d.h diagrams_e.h diagrams.cfg ${TOP}/examples/strip_example.py
148 OUTPUT ${PROJECT_BINARY_DIR}/html/examples/diagrams/html/index.html ${PROJECT_BINARY_DIR}/latex/examples/diagrams/latex/refman_doc.tex
149 )
150diff --git a/libmscgen/CMakeLists.txt b/libmscgen/CMakeLists.txt
151index 34cf4d8..f015afc 100644
152--- a/libmscgen/CMakeLists.txt
153+++ b/libmscgen/CMakeLists.txt
154@@ -7,7 +7,7 @@ include_directories(
155 set(LEX_FILES mscgen_lexer)
156 foreach(lex_file ${LEX_FILES})
157 add_custom_command(
158- COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/scan_states.py ${PROJECT_SOURCE_DIR}/libmscgen/${lex_file}.l > ${GENERATED_SRC}/${lex_file}.l.h
159+ COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/scan_states.py ${PROJECT_SOURCE_DIR}/libmscgen/${lex_file}.l > ${GENERATED_SRC}/${lex_file}.l.h
160 DEPENDS ${PROJECT_SOURCE_DIR}/src/scan_states.py ${PROJECT_SOURCE_DIR}/libmscgen/${lex_file}.l
161 OUTPUT ${GENERATED_SRC}/${lex_file}.l.h
162 )
163diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
164index 0e0c5f7..c1d3ca5 100644
165--- a/src/CMakeLists.txt
166+++ b/src/CMakeLists.txt
167@@ -40,7 +40,7 @@ set_source_files_properties(${GENERATED_SRC}/settings.h PROPERTIES GENERATED 1)
168
169 # configvalues.h
170 add_custom_command(
171- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/configgen.py -maph ${CMAKE_CURRENT_LIST_DIR}/config.xml > ${GENERATED_SRC}/configvalues.h
172+ COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/configgen.py -maph ${CMAKE_CURRENT_LIST_DIR}/config.xml > ${GENERATED_SRC}/configvalues.h
173 DEPENDS ${CMAKE_CURRENT_LIST_DIR}/config.xml ${CMAKE_CURRENT_LIST_DIR}/configgen.py
174 OUTPUT ${GENERATED_SRC}/configvalues.h
175 )
176@@ -52,7 +52,7 @@ add_custom_target(
177
178 # configvalues.cpp
179 add_custom_command(
180- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/configgen.py -maps ${CMAKE_CURRENT_LIST_DIR}/config.xml > ${GENERATED_SRC}/configvalues.cpp
181+ COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/configgen.py -maps ${CMAKE_CURRENT_LIST_DIR}/config.xml > ${GENERATED_SRC}/configvalues.cpp
182 DEPENDS ${CMAKE_CURRENT_LIST_DIR}/config.xml ${CMAKE_CURRENT_LIST_DIR}/configgen.py
183 OUTPUT ${GENERATED_SRC}/configvalues.cpp
184 )
185@@ -60,7 +60,7 @@ set_source_files_properties(${GENERATED_SRC}/configvalues.cpp PROPERTIES GENERAT
186
187 # configoptions.cpp
188 add_custom_command(
189- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/configgen.py -cpp ${CMAKE_CURRENT_LIST_DIR}/config.xml > ${GENERATED_SRC}/configoptions.cpp
190+ COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/configgen.py -cpp ${CMAKE_CURRENT_LIST_DIR}/config.xml > ${GENERATED_SRC}/configoptions.cpp
191 DEPENDS ${CMAKE_CURRENT_LIST_DIR}/config.xml ${CMAKE_CURRENT_LIST_DIR}/configgen.py
192 OUTPUT ${GENERATED_SRC}/configoptions.cpp
193 )
194@@ -95,7 +95,7 @@ endif()
195 # resources.cpp
196 add_custom_command(
197 COMMENT "Generating ${GENERATED_SRC}/resources.cpp"
198- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/res2cc_cmd.py ${PROJECT_SOURCE_DIR}/templates ${GENERATED_SRC}/resources.cpp
199+ COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/res2cc_cmd.py ${PROJECT_SOURCE_DIR}/templates ${GENERATED_SRC}/resources.cpp
200 DEPENDS ${RESOURCES} ${CMAKE_CURRENT_LIST_DIR}/res2cc_cmd.py
201 OUTPUT ${GENERATED_SRC}/resources.cpp
202 )
203@@ -126,7 +126,7 @@ foreach(lex_file ${LEX_FILES})
204 set(LEX_FILES_H ${LEX_FILES_H} " " ${GENERATED_SRC}/${lex_file}.l.h CACHE INTERNAL "Stores generated files")
205 set(LEX_FILES_CPP ${LEX_FILES_CPP} " " ${GENERATED_SRC}/${lex_file}.cpp CACHE INTERNAL "Stores generated files")
206 add_custom_command(
207- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/scan_states.py ${CMAKE_CURRENT_LIST_DIR}/${lex_file}.l > ${GENERATED_SRC}/${lex_file}.l.h
208+ COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/scan_states.py ${CMAKE_CURRENT_LIST_DIR}/${lex_file}.l > ${GENERATED_SRC}/${lex_file}.l.h
209 DEPENDS ${CMAKE_CURRENT_LIST_DIR}/scan_states.py ${CMAKE_CURRENT_LIST_DIR}/${lex_file}.l
210 OUTPUT ${GENERATED_SRC}/${lex_file}.l.h
211 )
212diff --git a/testing/CMakeLists.txt b/testing/CMakeLists.txt
213index fd6912e..0af1865 100644
214--- a/testing/CMakeLists.txt
215+++ b/testing/CMakeLists.txt
216@@ -1,7 +1,7 @@
217 # run all tests sequentially (keep for backward compatibility)
218 add_custom_target(tests
219 COMMENT "Running doxygen tests..."
220- COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/testing/runtests.py --doxygen ${PROJECT_BINARY_DIR}/bin/doxygen --inputdir ${PROJECT_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing
221+ COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/testing/runtests.py --doxygen ${PROJECT_BINARY_DIR}/bin/doxygen --inputdir ${PROJECT_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing
222 DEPENDS doxygen
223 )
224
225@@ -19,6 +19,6 @@ foreach(TEST_FILE ${TEST_FILES})
226 string(REGEX REPLACE "^.*/([0-9][0-9][0-9]*).*$" "\\1" TEST_ID "${TEST_FILE}")
227 # add a test target for each test
228 add_test(NAME ${TEST_NAME}
229- COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/testing/runtests.py --id ${TEST_ID} --doxygen $<TARGET_FILE:doxygen> --inputdir ${PROJECT_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing
230+ COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/testing/runtests.py --id ${TEST_ID} --doxygen $<TARGET_FILE:doxygen> --inputdir ${PROJECT_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing
231 )
232 endforeach()
diff --git a/meta-oe/recipes-devtools/doxygen/doxygen_1.9.3.bb b/meta-oe/recipes-devtools/doxygen/doxygen_1.14.0.bb
index 8bd0992bd6..512a63549e 100644
--- a/meta-oe/recipes-devtools/doxygen/doxygen_1.9.3.bb
+++ b/meta-oe/recipes-devtools/doxygen/doxygen_1.14.0.bb
@@ -4,13 +4,16 @@ HOMEPAGE = "http://www.doxygen.org/"
4LICENSE = "GPL-2.0-only" 4LICENSE = "GPL-2.0-only"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263" 5LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
6 6
7DEPENDS = "flex-native bison-native" 7DEPENDS = "bison-native flex-native"
8 8
9SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.src.tar.gz \ 9SRC_URI = "\
10 file://0001-build-don-t-look-for-Iconv.patch \ 10 git://github.com/doxygen/doxygen.git;branch=master;protocol=https \
11" 11"
12SRC_URI:append:class-native = " file://doxygen-native-only-check-python3.patch" 12
13SRC_URI[sha256sum] = "f352dbc3221af7012b7b00935f2dfdc9fb67a97d43287d2f6c81c50449d254e0" 13SRCREV = "cbe58f6237b2238c9af7f51c6b7afb8bbf52c866"
14
15
16UPSTREAM_CHECK_GITTAGREGEX = "Release_(?P<pver>\d+(\_\d+)+)"
14 17
15inherit cmake python3native 18inherit cmake python3native
16 19
@@ -18,4 +21,5 @@ EXTRA_OECMAKE += "\
18 -DFLEX_TARGET_ARG_COMPILE_FLAGS='--noline' \ 21 -DFLEX_TARGET_ARG_COMPILE_FLAGS='--noline' \
19 -DBISON_TARGET_ARG_COMPILE_FLAGS='--no-lines' \ 22 -DBISON_TARGET_ARG_COMPILE_FLAGS='--no-lines' \
20" 23"
24
21BBCLASSEXTEND = "native nativesdk" 25BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/editorconfig/editorconfig-core-c_0.12.6.bb b/meta-oe/recipes-devtools/editorconfig/editorconfig-core-c_0.12.9.bb
index 976120b515..c6db2ef38c 100644
--- a/meta-oe/recipes-devtools/editorconfig/editorconfig-core-c_0.12.6.bb
+++ b/meta-oe/recipes-devtools/editorconfig/editorconfig-core-c_0.12.9.bb
@@ -2,12 +2,11 @@ SUMMARY = "EditorConfig helps maintain consistent coding styles across various e
2HOMEPAGE = "https://https://editorconfig.org" 2HOMEPAGE = "https://https://editorconfig.org"
3SECTION = "libs" 3SECTION = "libs"
4LICENSE = "BSD-2-Clause" 4LICENSE = "BSD-2-Clause"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=f515fff3ea0a2b9797eda60d83c0e5ca" 5LIC_FILES_CHKSUM = "file://LICENSE;md5=38f617473e9f7373b5e79baf437accf8"
6 6
7SRC_URI = "git://github.com/editorconfig/editorconfig-core-c.git;protocol=https;branch=master" 7SRC_URI = "git://github.com/editorconfig/editorconfig-core-c.git;protocol=https;branch=master"
8 8
9S = "${WORKDIR}/git" 9SRCREV = "e082c947e7f7b14240195d55c060a6e1eda1b0a1"
10SRCREV = "b7837029494c03af5ea70ed9d265e8c2123bff53"
11 10
12inherit cmake 11inherit cmake
13 12
diff --git a/meta-oe/recipes-devtools/exprtk/exprtk_git.bb b/meta-oe/recipes-devtools/exprtk/exprtk_git.bb
index 4019f26899..bdaa39b402 100644
--- a/meta-oe/recipes-devtools/exprtk/exprtk_git.bb
+++ b/meta-oe/recipes-devtools/exprtk/exprtk_git.bb
@@ -1,13 +1,12 @@
1SUMMARY = "Expression parser" 1SUMMARY = "Expression parser"
2HOMEPAGE = "https://github.com/ArashPartow/exprtk" 2HOMEPAGE = "https://www.partow.net/programming/exprtk/index.html"
3SECTION = "libs" 3SECTION = "libs"
4LICENSE = "MIT" 4LICENSE = "MIT"
5LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" 5LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
6SRCREV = "f46bffcd6966d38a09023fb37ba9335214c9b959" 6SRCREV = "a4b17d543f072d2e3ba564e4bc5c3a0d2b05c338"
7 7
8SRC_URI = "git://github.com/ArashPartow/exprtk.git;branch=release;protocol=https" 8SRC_URI = "git://github.com/ArashPartow/exprtk.git;branch=release;protocol=https"
9 9
10S = "${WORKDIR}/git"
11 10
12# other packages commonly reference the file directly as "exprtk.hpp" 11# other packages commonly reference the file directly as "exprtk.hpp"
13# create symlink to allow this usage 12# create symlink to allow this usage
diff --git a/meta-oe/recipes-devtools/extract-cert/extract-cert_0.3.bb b/meta-oe/recipes-devtools/extract-cert/extract-cert_0.3.bb
index a4cd7ad157..83e9383d4a 100644
--- a/meta-oe/recipes-devtools/extract-cert/extract-cert_0.3.bb
+++ b/meta-oe/recipes-devtools/extract-cert/extract-cert_0.3.bb
@@ -7,7 +7,6 @@ DEPENDS = "openssl"
7SRC_URI = "git://git.pengutronix.de/git/extract-cert;protocol=https;branch=master;" 7SRC_URI = "git://git.pengutronix.de/git/extract-cert;protocol=https;branch=master;"
8SRCREV = "d652b4e8279aef2a85f58676ab472744bafeafc9" 8SRCREV = "d652b4e8279aef2a85f58676ab472744bafeafc9"
9 9
10S = "${WORKDIR}/git"
11 10
12inherit meson pkgconfig 11inherit meson pkgconfig
13 12
diff --git a/meta-oe/recipes-devtools/flatbuffers/flatbuffers.bb b/meta-oe/recipes-devtools/flatbuffers/flatbuffers.bb
index 183554e2c8..c51a49ba01 100644
--- a/meta-oe/recipes-devtools/flatbuffers/flatbuffers.bb
+++ b/meta-oe/recipes-devtools/flatbuffers/flatbuffers.bb
@@ -13,7 +13,6 @@ DEPENDS = "flatbuffers-native"
13RDEPENDS:${PN}-compiler = "${PN}" 13RDEPENDS:${PN}-compiler = "${PN}"
14RDEPENDS:${PN}-dev += "${PN}-compiler" 14RDEPENDS:${PN}-dev += "${PN}-compiler"
15 15
16S = "${WORKDIR}/git"
17 16
18EXTRA_OECMAKE += " \ 17EXTRA_OECMAKE += " \
19 -DFLATBUFFERS_BUILD_TESTS=OFF \ 18 -DFLATBUFFERS_BUILD_TESTS=OFF \
@@ -23,6 +22,11 @@ EXTRA_OECMAKE:append:class-target = " -DFLATBUFFERS_FLATC_EXECUTABLE=${STAGING_B
23 22
24inherit cmake python3native 23inherit cmake python3native
25 24
25rm_flatc_cmaketarget_for_target() {
26 rm -f "${SYSROOT_DESTDIR}/${libdir}/cmake/flatbuffers/FlatcTargets.cmake"
27}
28SYSROOT_PREPROCESS_FUNCS:class-target += "rm_flatc_cmaketarget_for_target"
29
26FILES:${PN}-compiler = "${bindir}" 30FILES:${PN}-compiler = "${bindir}"
27 31
28BBCLASSEXTEND = "native nativesdk" 32BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/flatbuffers/flatbuffers.inc b/meta-oe/recipes-devtools/flatbuffers/flatbuffers.inc
index 8f6c4c68f1..36b448a41c 100644
--- a/meta-oe/recipes-devtools/flatbuffers/flatbuffers.inc
+++ b/meta-oe/recipes-devtools/flatbuffers/flatbuffers.inc
@@ -1,3 +1,3 @@
1PV = "24.3.25" 1PV = "25.2.10"
2SRCREV = "595bf0007ab1929570c7671f091313c8fc20644e" 2SRCREV = "1c514626e83c20fffa8557e75641848e1e15cd5e"
3SRC_URI = "git://github.com/google/flatbuffers.git;branch=master;protocol=https" 3SRC_URI = "git://github.com/google/flatbuffers.git;branch=master;protocol=https"
diff --git a/meta-oe/recipes-devtools/flatbuffers/python3-flatbuffers.bb b/meta-oe/recipes-devtools/flatbuffers/python3-flatbuffers.bb
index 5d3c73fd9a..feb206f27c 100644
--- a/meta-oe/recipes-devtools/flatbuffers/python3-flatbuffers.bb
+++ b/meta-oe/recipes-devtools/flatbuffers/python3-flatbuffers.bb
@@ -6,10 +6,10 @@ LIC_FILES_CHKSUM = "file://../LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
6 6
7require flatbuffers.inc 7require flatbuffers.inc
8 8
9S = "${WORKDIR}/git/python" 9S = "${UNPACKDIR}/${BP}/python"
10 10
11RDEPENDS:${PN} = "flatbuffers" 11RDEPENDS:${PN} = "flatbuffers"
12 12
13inherit setuptools3 13inherit setuptools3
14 14
15BBCLASSEXTEND = "native" 15BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/flatcc/flatcc_git.bb b/meta-oe/recipes-devtools/flatcc/flatcc_git.bb
index 2530dac526..2565e3b9bd 100644
--- a/meta-oe/recipes-devtools/flatcc/flatcc_git.bb
+++ b/meta-oe/recipes-devtools/flatcc/flatcc_git.bb
@@ -14,7 +14,6 @@ SRC_URI = " \
14" 14"
15SRCREV = "1653ec964730ec7d9892a08a1695ada6d20f5196" 15SRCREV = "1653ec964730ec7d9892a08a1695ada6d20f5196"
16 16
17S = "${WORKDIR}/git"
18 17
19inherit cmake 18inherit cmake
20 19
diff --git a/meta-oe/recipes-devtools/geany/geany-plugins/0001-projectorganizer-fix-invalid-string-comparison.patch b/meta-oe/recipes-devtools/geany/geany-plugins/0001-projectorganizer-fix-invalid-string-comparison.patch
new file mode 100644
index 0000000000..5a0650aec1
--- /dev/null
+++ b/meta-oe/recipes-devtools/geany/geany-plugins/0001-projectorganizer-fix-invalid-string-comparison.patch
@@ -0,0 +1,24 @@
1From 8dfd7f2cba428f5eb232fbbe3427c64171bae0f4 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Ji=C5=99=C3=AD=20Techet?= <techet@gmail.com>
3Date: Tue, 5 Mar 2024 18:36:37 +0100
4Subject: [PATCH 1/3] projectorganizer: fix invalid string comparison
5
6Upstream-Status: Backport [https://github.com/geany/geany-plugins/commit/8dfd7f2cba428f5eb232fbbe3427c64171bae0f4]
7Signed-off-by: Khem Raj <raj.khem@gmail.com>
8---
9 projectorganizer/src/prjorg-sidebar.c | 2 +-
10 1 file changed, 1 insertion(+), 1 deletion(-)
11
12diff --git a/projectorganizer/src/prjorg-sidebar.c b/projectorganizer/src/prjorg-sidebar.c
13index b6422f0..0139473 100644
14--- a/projectorganizer/src/prjorg-sidebar.c
15+++ b/projectorganizer/src/prjorg-sidebar.c
16@@ -346,7 +346,7 @@ static gchar *get_fallback_dir_of_selection(void)
17 {
18 locale_path = g_path_get_dirname(doc->real_path);
19
20- if (locale_path && locale_path == '.')
21+ if (locale_path && *locale_path == '.')
22 {
23 g_free(locale_path);
24 locale_path = NULL;
diff --git a/meta-oe/recipes-devtools/geany/geany-plugins/0002-projectorganizer-fix-various-warnings.patch b/meta-oe/recipes-devtools/geany/geany-plugins/0002-projectorganizer-fix-various-warnings.patch
new file mode 100644
index 0000000000..c70f4d6e15
--- /dev/null
+++ b/meta-oe/recipes-devtools/geany/geany-plugins/0002-projectorganizer-fix-various-warnings.patch
@@ -0,0 +1,45 @@
1From 58d47e60bdcec62fe74b4a38eaf39d16a9c80d42 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Ji=C5=99=C3=AD=20Techet?= <techet@gmail.com>
3Date: Tue, 5 Mar 2024 18:40:10 +0100
4Subject: [PATCH 2/3] projectorganizer: fix various warnings
5
6Upstream-Status: Backport [https://github.com/geany/geany-plugins/commit/58d47e60bdcec62fe74b4a38eaf39d16a9c80d42]
7Signed-off-by: Khem Raj <raj.khem@gmail.com>
8---
9 projectorganizer/src/prjorg-sidebar.c | 9 +++------
10 1 file changed, 3 insertions(+), 6 deletions(-)
11
12diff --git a/projectorganizer/src/prjorg-sidebar.c b/projectorganizer/src/prjorg-sidebar.c
13index 0139473..e67cce2 100644
14--- a/projectorganizer/src/prjorg-sidebar.c
15+++ b/projectorganizer/src/prjorg-sidebar.c
16@@ -382,7 +382,8 @@ void on_open_file_manager(G_GNUC_UNUSED GtkMenuItem * menuitem, G_GNUC_UNUSED gp
17
18 if (locale_path)
19 {
20- gchar *command, *open_command;
21+ const gchar *open_command;
22+ gchar *command;
23
24 open_command = PRJORG_COMMAND_OPEN;
25 command = g_strconcat (open_command, " \"", locale_path, "\"", NULL);
26@@ -1562,7 +1563,7 @@ gchar **prjorg_sidebar_get_expanded_paths(void)
27 (GtkTreeViewMappingFunc)on_map_expanded, expanded_paths);
28 g_ptr_array_add(expanded_paths, NULL);
29
30- return g_ptr_array_free(expanded_paths, FALSE);
31+ return (gchar **)g_ptr_array_free(expanded_paths, FALSE);
32 }
33
34
35@@ -1587,10 +1588,6 @@ void prjorg_sidebar_update_full(gboolean reload, gchar **expanded_paths)
36
37 if (reload)
38 {
39- GtkTreeSelection *treesel;
40- GtkTreeIter iter;
41- GtkTreeModel *model;
42-
43 expand_data->expanded_paths = expanded_paths != NULL ? expanded_paths : prjorg_sidebar_get_expanded_paths();
44 expand_data->selected_path = get_selected_path();
45
diff --git a/meta-oe/recipes-devtools/geany/geany-plugins/0003-projectorganizer-Use-g_pattern_spec_match_string-ins.patch b/meta-oe/recipes-devtools/geany/geany-plugins/0003-projectorganizer-Use-g_pattern_spec_match_string-ins.patch
new file mode 100644
index 0000000000..4c4e11c6cd
--- /dev/null
+++ b/meta-oe/recipes-devtools/geany/geany-plugins/0003-projectorganizer-Use-g_pattern_spec_match_string-ins.patch
@@ -0,0 +1,89 @@
1From a4a7c4af7f62eb55c0bd100ed1d308e6512a66ce Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Ji=C5=99=C3=AD=20Techet?= <techet@gmail.com>
3Date: Tue, 23 Apr 2024 18:43:51 +0200
4Subject: [PATCH 3/3] projectorganizer: Use g_pattern_spec_match_string() instead of g_pattern_match_string()
5
6Eliminates a warning on newer glib versions. Adds a fallback on older versions.
7
8Upstream-Status: Backport [https://github.com/geany/geany-plugins/commit/a4a7c4af7f62eb55c0bd100ed1d308e6512a66ce]
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10---
11 projectorganizer/src/prjorg-project.c | 2 +-
12 projectorganizer/src/prjorg-sidebar.c | 4 ++--
13 projectorganizer/src/prjorg-utils.c | 4 ++--
14 projectorganizer/src/prjorg-utils.h | 5 +++++
15 4 files changed, 10 insertions(+), 5 deletions(-)
16
17diff --git a/projectorganizer/src/prjorg-project.c b/projectorganizer/src/prjorg-project.c
18index a767ab8..71dc6e1 100644
19--- a/projectorganizer/src/prjorg-project.c
20+++ b/projectorganizer/src/prjorg-project.c
21@@ -216,7 +216,7 @@ static gboolean match_basename(gconstpointer pft, gconstpointer user_data)
22 {
23 GPatternSpec *pattern = g_pattern_spec_new(ft->pattern[j]);
24
25- if (g_pattern_match_string(pattern, utf8_base_filename))
26+ if (g_pattern_spec_match_string(pattern, utf8_base_filename))
27 {
28 ret = TRUE;
29 g_pattern_spec_free(pattern);
30diff --git a/projectorganizer/src/prjorg-sidebar.c b/projectorganizer/src/prjorg-sidebar.c
31index e67cce2..b7536ee 100644
32--- a/projectorganizer/src/prjorg-sidebar.c
33+++ b/projectorganizer/src/prjorg-sidebar.c
34@@ -657,7 +657,7 @@ static void find_file_recursive(GtkTreeIter *iter, gboolean case_sensitive, gboo
35 if (!case_sensitive)
36 SETPTR(utf8_name, g_utf8_strdown(utf8_name, -1));
37
38- if (g_pattern_match_string(pattern, utf8_name))
39+ if (g_pattern_spec_match_string(pattern, utf8_name))
40 {
41 gchar *utf8_base_path = get_project_base_path();
42 gchar *utf8_path, *rel_path;
43@@ -840,7 +840,7 @@ static gboolean match(TMTag *tag, const gchar *name, gboolean declaration, gbool
44 matches = g_strcmp0(name_case, name) == 0;
45 break;
46 case MATCH_PATTERN:
47- matches = g_pattern_match_string(pspec, name_case);
48+ matches = g_pattern_spec_match_string(pspec, name_case);
49 break;
50 case MATCH_PREFIX:
51 matches = g_str_has_prefix(name_case, name);
52diff --git a/projectorganizer/src/prjorg-utils.c b/projectorganizer/src/prjorg-utils.c
53index 2a8847e..0b573e5 100644
54--- a/projectorganizer/src/prjorg-utils.c
55+++ b/projectorganizer/src/prjorg-utils.c
56@@ -80,7 +80,7 @@ gboolean patterns_match(GSList *patterns, const gchar *str)
57 foreach_slist (elem, patterns)
58 {
59 GPatternSpec *pattern = elem->data;
60- if (g_pattern_match_string(pattern, str))
61+ if (g_pattern_spec_match_string(pattern, str))
62 return TRUE;
63 }
64 return FALSE;
65@@ -269,7 +269,7 @@ gchar *try_find_header_source(gchar *utf8_file_name, gboolean is_header, GSList
66 full_name = elem->data;
67 gchar *base_name = g_path_get_basename(full_name);
68
69- if (g_pattern_match_string(pattern, base_name))
70+ if (g_pattern_spec_match_string(pattern, base_name))
71 {
72 if ((is_header && patterns_match(source_patterns, base_name)) ||
73 (!is_header && patterns_match(header_patterns, base_name)))
74diff --git a/projectorganizer/src/prjorg-utils.h b/projectorganizer/src/prjorg-utils.h
75index c3719a9..50ed123 100644
76--- a/projectorganizer/src/prjorg-utils.h
77+++ b/projectorganizer/src/prjorg-utils.h
78@@ -19,6 +19,11 @@
79 #ifndef __PRJORG_UTILS_H__
80 #define __PRJORG_UTILS_H__
81
82+
83+ #if ! GLIB_CHECK_VERSION(2, 70, 0)
84+ # define g_pattern_spec_match_string g_pattern_match_string
85+ #endif
86+
87 gchar *get_relative_path(const gchar *utf8_parent, const gchar *utf8_descendant);
88
89 gboolean patterns_match(GSList *patterns, const gchar *str);
diff --git a/meta-oe/recipes-devtools/geany/geany-plugins/geany-plugins-2.0-gcc15.patch b/meta-oe/recipes-devtools/geany/geany-plugins/geany-plugins-2.0-gcc15.patch
new file mode 100644
index 0000000000..563416bf92
--- /dev/null
+++ b/meta-oe/recipes-devtools/geany/geany-plugins/geany-plugins-2.0-gcc15.patch
@@ -0,0 +1,30 @@
1Fix build with GCC-15
2
3Upstream-Status: Backport [https://github.com/geany/geany-plugins/pull/1389]
4Signed-off-by: Khem Raj <raj.khem@gmail.com>
5--- a/git-changebar/src/gcb-plugin.c
6+++ b/git-changebar/src/gcb-plugin.c
7@@ -1410,9 +1410,9 @@ read_setting_boolean (GKeyFile *kf,
8 const gchar *key,
9 gpointer value)
10 {
11- gboolean *bool = value;
12+ gboolean *boolean = value;
13
14- *bool = utils_get_setting_boolean (kf, group, key, *bool);
15+ *boolean = utils_get_setting_boolean (kf, group, key, *boolean);
16 }
17
18 static void
19@@ -1421,9 +1421,9 @@ write_setting_boolean (GKeyFile *kf,
20 const gchar *key,
21 gconstpointer value)
22 {
23- const gboolean *bool = value;
24+ const gboolean *boolean = value;
25
26- g_key_file_set_boolean (kf, group, key, *bool);
27+ g_key_file_set_boolean (kf, group, key, *boolean);
28 }
29
30 /* loads @filename in @kf and return %FALSE if failed, emitting a warning
diff --git a/meta-oe/recipes-devtools/geany/geany-plugins_1.38.bb b/meta-oe/recipes-devtools/geany/geany-plugins_2.0.bb
index 1ed2993bf0..9a19e5dc98 100644
--- a/meta-oe/recipes-devtools/geany/geany-plugins_1.38.bb
+++ b/meta-oe/recipes-devtools/geany/geany-plugins_2.0.bb
@@ -15,7 +15,7 @@ DEPENDS = " \
15 fribidi \ 15 fribidi \
16 geany \ 16 geany \
17 libxml2 \ 17 libxml2 \
18 libsoup-2.4 \ 18 libsoup \
19 enchant2 \ 19 enchant2 \
20 intltool-native \ 20 intltool-native \
21 libassuan \ 21 libassuan \
@@ -30,12 +30,12 @@ REQUIRED_DISTRO_FEATURES = "x11"
30 30
31SRC_URI = " \ 31SRC_URI = " \
32 https://plugins.geany.org/${BPN}/${BP}.tar.bz2 \ 32 https://plugins.geany.org/${BPN}/${BP}.tar.bz2 \
33 file://0001-Use-pkg-config-to-find-gpgme.patch \ 33 file://geany-plugins-2.0-gcc15.patch \
34 file://0001-git-changebar-Adjust-structs-for-libgit2-1.4.x.patch \ 34 file://0001-projectorganizer-fix-invalid-string-comparison.patch \
35 file://0001-geany.m4-Do-not-tinker-with-pkg-config-paths.patch \ 35 file://0002-projectorganizer-fix-various-warnings.patch \
36 file://0001-scope-Use-0-instead-of-NULL-for-gboolean.patch \ 36 file://0003-projectorganizer-Use-g_pattern_spec_match_string-ins.patch \
37" 37"
38SRC_URI[sha256sum] = "1c578a7ebb390aa8882f195acd3d8da3ceb73925d291b28dec90cd3e5fd20586" 38SRC_URI[sha256sum] = "9fc2ec5c99a74678fb9e8cdfbd245d3e2061a448d70fd110a6aefb62dd514705"
39 39
40do_configure:prepend() { 40do_configure:prepend() {
41 rm -f ${S}/build/cache/glib-gettext.m4 41 rm -f ${S}/build/cache/glib-gettext.m4
@@ -75,8 +75,6 @@ PLUGINS += "${PN}-defineformat"
75LIC_FILES_CHKSUM += "file://defineformat/COPYING;md5=751419260aa954499f7abaabaa882bbe" 75LIC_FILES_CHKSUM += "file://defineformat/COPYING;md5=751419260aa954499f7abaabaa882bbe"
76FILES:${PN}-defineformat = "${libdir}/geany/defineformat.so" 76FILES:${PN}-defineformat = "${libdir}/geany/defineformat.so"
77 77
78# no gnome devhelp in some common layer
79EXTRA_OECONF += "--disable-devhelp"
80#PLUGINS += "${PN}-devhelp" 78#PLUGINS += "${PN}-devhelp"
81#LIC_FILES_CHKSUM += "file://devhelp/COPYING;md5=d32239bcb673463ab874e80d47fae504" 79#LIC_FILES_CHKSUM += "file://devhelp/COPYING;md5=d32239bcb673463ab874e80d47fae504"
82#LICENSE:${PN}-devhelp = "GPLv3" 80#LICENSE:${PN}-devhelp = "GPLv3"
@@ -165,8 +163,6 @@ EXTRA_OECONF += "--disable-peg-markdown"
165#LIC_FILES_CHKSUM += "file://markdown/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" 163#LIC_FILES_CHKSUM += "file://markdown/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
166#FILES:${PN}-markdown = "${libdir}/geany/markdown.so" 164#FILES:${PN}-markdown = "${libdir}/geany/markdown.so"
167 165
168# | checking whether the GTK version in use is compatible with plugin multiterm... no
169EXTRA_OECONF += "--disable-multiterm"
170#PLUGINS += "${PN}-multiterm" 166#PLUGINS += "${PN}-multiterm"
171#LIC_FILES_CHKSUM += "file://multiterm/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" 167#LIC_FILES_CHKSUM += "file://multiterm/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
172#FILES:${PN}-multiterm = "${libdir}/geany/multiterm.so" 168#FILES:${PN}-multiterm = "${libdir}/geany/multiterm.so"
diff --git a/meta-oe/recipes-devtools/geany/geany/0001-configure-Upgrade-to-a-modern-Gettext.patch b/meta-oe/recipes-devtools/geany/geany/0001-configure-Upgrade-to-a-modern-Gettext.patch
index b966847195..e6db688974 100644
--- a/meta-oe/recipes-devtools/geany/geany/0001-configure-Upgrade-to-a-modern-Gettext.patch
+++ b/meta-oe/recipes-devtools/geany/geany/0001-configure-Upgrade-to-a-modern-Gettext.patch
@@ -11,12 +11,11 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
11 11
12--- a/configure.ac 12--- a/configure.ac
13+++ b/configure.ac 13+++ b/configure.ac
14@@ -8,7 +8,7 @@ AC_CONFIG_AUX_DIR([build-aux]) 14@@ -9,6 +9,7 @@ AC_CONFIG_MACRO_DIR([m4])
15 AC_CONFIG_MACRO_DIR([m4])
16 AM_INIT_AUTOMAKE([1.11 -Wall parallel-tests subdir-objects]) 15 AM_INIT_AUTOMAKE([1.11 -Wall parallel-tests subdir-objects])
17 AC_CONFIG_HEADERS([config.h]) 16 AC_CONFIG_HEADERS([config.h])
18-
19+AC_PROG_INTLTOOL
20 m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
21 17
22 GEANY_PREFIX 18+AC_PROG_INTLTOOL
19 # Silence "AC_LINK_IFELSE before AC_USE_SYSTEM_EXTENSIONS" warnings
20 # Note: Enables _GNU_SOURCE on Linux
21 AC_USE_SYSTEM_EXTENSIONS
diff --git a/meta-oe/recipes-devtools/geany/geany/geany-2.0-gcc15.patch b/meta-oe/recipes-devtools/geany/geany/geany-2.0-gcc15.patch
new file mode 100644
index 0000000000..2886b73d22
--- /dev/null
+++ b/meta-oe/recipes-devtools/geany/geany/geany-2.0-gcc15.patch
@@ -0,0 +1,146 @@
1Fix build with GCC-15
2
3Upstream-Status: Backport [https://sourceforge.net/p/scintilla/code/ci/c7ffad21b23dfad4e8e9f36bb587acc2f6e84fee/]
4Signed-off-by: Khem Raj <raj.khem@gmail.com>
5
6--- a/scintilla/gtk/PlatGTK.cxx
7+++ b/scintilla/gtk/PlatGTK.cxx
8@@ -5,6 +5,7 @@
9
10 #include <cstddef>
11 #include <cstdlib>
12+#include <cstdint>
13 #include <cstring>
14 #include <cstdio>
15 #include <cmath>
16--- a/scintilla/src/AutoComplete.cxx
17+++ b/scintilla/src/AutoComplete.cxx
18@@ -7,6 +7,7 @@
19
20 #include <cstddef>
21 #include <cstdlib>
22+#include <cstdint>
23 #include <cassert>
24 #include <cstring>
25 #include <cstdio>
26--- a/scintilla/src/CallTip.cxx
27+++ b/scintilla/src/CallTip.cxx
28@@ -7,6 +7,7 @@
29
30 #include <cstddef>
31 #include <cstdlib>
32+#include <cstdint>
33 #include <cassert>
34 #include <cstring>
35 #include <cstdio>
36--- a/scintilla/src/CellBuffer.cxx
37+++ b/scintilla/src/CellBuffer.cxx
38@@ -7,6 +7,7 @@
39
40 #include <cstddef>
41 #include <cstdlib>
42+#include <cstdint>
43 #include <cassert>
44 #include <cstring>
45 #include <cstdio>
46--- a/scintilla/src/ChangeHistory.cxx
47+++ b/scintilla/src/ChangeHistory.cxx
48@@ -7,6 +7,7 @@
49
50 #include <cstddef>
51 #include <cstdlib>
52+#include <cstdint>
53 #include <cassert>
54
55 #include <stdexcept>
56--- a/scintilla/src/Decoration.cxx
57+++ b/scintilla/src/Decoration.cxx
58@@ -6,6 +6,7 @@
59
60 #include <cstddef>
61 #include <cstdlib>
62+#include <cstdint>
63 #include <cstring>
64 #include <cstdio>
65 #include <cstdarg>
66--- a/scintilla/src/Document.cxx
67+++ b/scintilla/src/Document.cxx
68@@ -7,6 +7,7 @@
69
70 #include <cstddef>
71 #include <cstdlib>
72+#include <cstdint>
73 #include <cassert>
74 #include <cstring>
75 #include <cstdio>
76--- a/scintilla/src/Indicator.cxx
77+++ b/scintilla/src/Indicator.cxx
78@@ -5,6 +5,7 @@
79 // Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>
80 // The License.txt file describes the conditions under which this software may be distributed.
81
82+#include <cstdint>
83 #include <cmath>
84
85 #include <stdexcept>
86--- a/scintilla/src/KeyMap.cxx
87+++ b/scintilla/src/KeyMap.cxx
88@@ -6,6 +6,7 @@
89 // The License.txt file describes the conditions under which this software may be distributed.
90
91 #include <cstdlib>
92+#include <cstdint>
93
94 #include <stdexcept>
95 #include <string_view>
96--- a/scintilla/src/LineMarker.cxx
97+++ b/scintilla/src/LineMarker.cxx
98@@ -5,6 +5,7 @@
99 // Copyright 1998-2011 by Neil Hodgson <neilh@scintilla.org>
100 // The License.txt file describes the conditions under which this software may be distributed.
101
102+#include <cstdint>
103 #include <cstring>
104 #include <cmath>
105
106--- a/scintilla/src/PerLine.cxx
107+++ b/scintilla/src/PerLine.cxx
108@@ -6,6 +6,7 @@
109 // The License.txt file describes the conditions under which this software may be distributed.
110
111 #include <cstddef>
112+#include <cstdint>
113 #include <cassert>
114 #include <cstring>
115
116--- a/scintilla/src/Style.cxx
117+++ b/scintilla/src/Style.cxx
118@@ -5,6 +5,8 @@
119 // Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>
120 // The License.txt file describes the conditions under which this software may be distributed.
121
122+#include <cstdint>
123+
124 #include <stdexcept>
125 #include <string_view>
126 #include <vector>
127--- a/scintilla/src/ViewStyle.cxx
128+++ b/scintilla/src/ViewStyle.cxx
129@@ -6,6 +6,7 @@
130 // The License.txt file describes the conditions under which this software may be distributed.
131
132 #include <cstddef>
133+#include <cstdint>
134 #include <cassert>
135 #include <cstring>
136 #include <cmath>
137--- a/scintilla/src/XPM.cxx
138+++ b/scintilla/src/XPM.cxx
139@@ -6,6 +6,7 @@
140 // The License.txt file describes the conditions under which this software may be distributed.
141
142 #include <cstdlib>
143+#include <cstdint>
144 #include <cstring>
145 #include <climits>
146
diff --git a/meta-oe/recipes-devtools/geany/geany_1.38.bb b/meta-oe/recipes-devtools/geany/geany_2.0.bb
index d75e3b57fb..4b51195e08 100644
--- a/meta-oe/recipes-devtools/geany/geany_1.38.bb
+++ b/meta-oe/recipes-devtools/geany/geany_2.0.bb
@@ -11,8 +11,9 @@ REQUIRED_DISTRO_FEATURES = "x11"
11 11
12SRC_URI = "https://download.geany.org/${BP}.tar.bz2 \ 12SRC_URI = "https://download.geany.org/${BP}.tar.bz2 \
13 file://0001-configure-Upgrade-to-a-modern-Gettext.patch \ 13 file://0001-configure-Upgrade-to-a-modern-Gettext.patch \
14 file://geany-2.0-gcc15.patch \
14 " 15 "
15SRC_URI[sha256sum] = "abff176e4d48bea35ee53037c49c82f90b6d4c23e69aed6e4a5ca8ccd3aad546" 16SRC_URI[sha256sum] = "565b4cd2f0311c1e3a167ec71c4a32dba642e0fe554ae5bb6b8177b7a74ccc92"
16 17
17FILES:${PN} += "${datadir}/icons" 18FILES:${PN} += "${datadir}/icons"
18 19
diff --git a/meta-oe/recipes-devtools/giflib/giflib/0001-Makefile-fix-typo-in-soname-argument.patch b/meta-oe/recipes-devtools/giflib/giflib/0001-Makefile-fix-typo-in-soname-argument.patch
new file mode 100644
index 0000000000..dc87ed60b9
--- /dev/null
+++ b/meta-oe/recipes-devtools/giflib/giflib/0001-Makefile-fix-typo-in-soname-argument.patch
@@ -0,0 +1,34 @@
1From 7f0cd4b6b56183b0afbefd01425e5ebd2b8733b4 Mon Sep 17 00:00:00 2001
2From: Martin Jansa <martin.jansa@gmail.com>
3Date: Mon, 8 Jul 2024 13:18:11 +0200
4Subject: [PATCH] Makefile: fix typo in soname argument
5
6* introduced in:
7 https://sourceforge.net/p/giflib/code/ci/b65c7ac2905c0842e7977a7b51d83af4486ca7b8/
8 there is no LIBUTILMAJOR variable only LIBUTILSOMAJOR leading to:
9
10 ld: fatal error: -soname: must take a non-empty argument
11 collect2: error: ld returned 1 exit status
12
13 with some linkers like GOLD
14
15Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
16---
17Upstream-Status: Submitted [https://sourceforge.net/p/giflib/code/merge-requests/17/]
18
19 Makefile | 2 +-
20 1 file changed, 1 insertion(+), 1 deletion(-)
21
22diff --git a/Makefile b/Makefile
23index 87966a9..41b149e 100644
24--- a/Makefile
25+++ b/Makefile
26@@ -109,7 +109,7 @@ $(LIBUTILSO): $(UOBJECTS) $(UHEADERS)
27 ifeq ($(UNAME), Darwin)
28 $(CC) $(CFLAGS) -dynamiclib -current_version $(LIBVER) $(OBJECTS) -o $(LIBUTILSO)
29 else
30- $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname -Wl,$(LIBUTILMAJOR) -o $(LIBUTILSO) $(UOBJECTS)
31+ $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname -Wl,$(LIBUTILSOMAJOR) -o $(LIBUTILSO) $(UOBJECTS)
32 endif
33
34 libutil.a: $(UOBJECTS) $(UHEADERS)
diff --git a/meta-oe/recipes-devtools/giflib/giflib_5.2.1.bb b/meta-oe/recipes-devtools/giflib/giflib_5.2.2.bb
index 79afe9a70f..aa47f93095 100644
--- a/meta-oe/recipes-devtools/giflib/giflib_5.2.1.bb
+++ b/meta-oe/recipes-devtools/giflib/giflib_5.2.2.bb
@@ -7,8 +7,13 @@ CVE_PRODUCT = "giflib_project:giflib"
7 7
8DEPENDS = "xmlto-native" 8DEPENDS = "xmlto-native"
9 9
10SRC_URI = "${SOURCEFORGE_MIRROR}/giflib/${BP}.tar.gz" 10SRC_URI = "${SOURCEFORGE_MIRROR}/giflib/${BP}.tar.gz \
11SRC_URI[sha256sum] = "31da5562f44c5f15d63340a09a4fd62b48c45620cd302f77a6d9acf0077879bd" 11 https://sourceforge.net/p/giflib/code/ci/d54b45b0240d455bbaedee4be5203d2703e59967/tree/doc/giflib-logo.gif?format=raw;subdir=${BP}/doc;name=logo;downloadfilename=giflib-logo.gif \
12 file://0001-Makefile-fix-typo-in-soname-argument.patch \
13"
14
15SRC_URI[logo.sha256sum] = "1a54383986adad1521d00e003b4c482c27e8bc60690be944a1f3319c75abc2c9"
16SRC_URI[sha256sum] = "be7ffbd057cadebe2aa144542fd90c6838c6a083b5e8a9048b8ee3b66b29d5fb"
12 17
13do_install() { 18do_install() {
14 # using autotools's default will end up in /usr/local 19 # using autotools's default will end up in /usr/local
diff --git a/meta-oe/recipes-devtools/glade/glade/CVE-2020-36774.patch b/meta-oe/recipes-devtools/glade/glade/CVE-2020-36774.patch
new file mode 100644
index 0000000000..ae44862ccf
--- /dev/null
+++ b/meta-oe/recipes-devtools/glade/glade/CVE-2020-36774.patch
@@ -0,0 +1,54 @@
1From 8f1ed202ad21c787ec406f531905b4cda64fb13c Mon Sep 17 00:00:00 2001
2From: Juan Pablo Ugarte <juanpablougarte@gmail.com>
3Date: Fri, 2 Oct 2020 16:08:23 -0300
4Subject: [PATCH] GladeGtkBox: fix glade_gtk_box_post_create
5
6Some widgets with contruct properties like GtkMessageDialog get
7rebuilt right after they are created on project loading so we need
8to check glade_project_is_loading() intead of GLADE_CREATE_LOAD
9and use the object ad the connect data to make sure it gets disconected
10if it was the object being rebuilt
11
12Fix issue #479 "Glade 3.36.0 segfaults when opening a file"
13
14CVE: CVE-2020-36774
15Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glade/-/commit/7acdd3c6f6934f47b8974ebc2190a59ea5d2ed17]
16
17Signed-off-by: Peng Zhang <peng.zhang1.cn@windriver.com>
18---
19 plugins/gtk+/glade-gtk-box.c | 8 ++++----
20 1 file changed, 4 insertions(+), 4 deletions(-)
21
22diff --git a/plugins/gtk+/glade-gtk-box.c b/plugins/gtk+/glade-gtk-box.c
23index 1153c957..c995524e 100644
24--- a/plugins/gtk+/glade-gtk-box.c
25+++ b/plugins/gtk+/glade-gtk-box.c
26@@ -57,9 +57,9 @@ glade_gtk_box_create_editable (GladeWidgetAdaptor *adaptor,
27 }
28
29 static void
30-glade_gtk_box_parse_finished (GladeProject *project, GladeWidget *gbox)
31+glade_gtk_box_parse_finished (GladeProject *project, GObject *box)
32 {
33- GObject *box = glade_widget_get_object (gbox);
34+ GladeWidget *gbox = glade_widget_get_from_gobject (box);
35
36 glade_widget_property_set (gbox, "use-center-child",
37 gtk_box_get_center_widget (GTK_BOX (box)) != NULL);
38@@ -86,11 +86,11 @@ glade_gtk_box_post_create (GladeWidgetAdaptor *adaptor,
39 g_signal_connect (G_OBJECT (gwidget), "configure-end",
40 G_CALLBACK (glade_gtk_box_configure_end), container);
41
42- if (reason == GLADE_CREATE_LOAD)
43+ if (glade_project_is_loading (project))
44 {
45 g_signal_connect_object (project, "parse-finished",
46 G_CALLBACK (glade_gtk_box_parse_finished),
47- gwidget, 0);
48+ container, 0);
49 }
50 }
51
52--
532.34.1
54
diff --git a/meta-oe/recipes-devtools/glade/glade_3.22.2.bb b/meta-oe/recipes-devtools/glade/glade_3.36.0.bb
index d11751a4b2..3645de3cc3 100644
--- a/meta-oe/recipes-devtools/glade/glade_3.22.2.bb
+++ b/meta-oe/recipes-devtools/glade/glade_3.36.0.bb
@@ -1,26 +1,33 @@
1SUMMARY = "Glade - A User Interface Designer" 1SUMMARY = "Glade - A User Interface Designer"
2HOMEPAGE = "http://www.gnu.org/software/gnash" 2HOMEPAGE = "https://glade.gnome.org"
3LICENSE = "GPL-2.0-only & LGPL-2.0-only" 3LICENSE = "GPL-2.0-only & LGPL-2.0-only"
4LIC_FILES_CHKSUM = "file://COPYING;md5=aabe87591cb8ae0f3c68be6977bb5522 \ 4LIC_FILES_CHKSUM = "file://COPYING;md5=aabe87591cb8ae0f3c68be6977bb5522 \
5 file://COPYING.GPL;md5=9ac2e7cff1ddaf48b6eab6028f23ef88 \ 5 file://COPYING.GPL;md5=4641e94ec96f98fabc56ff9cc48be14b \
6 file://COPYING.LGPL;md5=252890d9eee26aab7b432e8b8a616475" 6 file://COPYING.LGPL;md5=81227099add6b483afd7b1d4fc4e93b7"
7DEPENDS = "gtk+3 glib-2.0 libxml2 intltool-native \ 7DEPENDS = "gtk+3 glib-2.0 libxml2 intltool-native itstool-native \
8 gnome-common-native \ 8 gnome-common-native \
9 autoconf-archive-native \ 9 autoconf-archive-native \
10" 10"
11GNOMEBASEBUILDCLASS = "autotools" 11GNOMEBASEBUILDCLASS = "autotools"
12inherit features_check autotools pkgconfig gnomebase gobject-introspection mime-xdg gtk-doc 12inherit features_check autotools gettext pkgconfig gnomebase gobject-introspection mime-xdg gtk-doc
13 13
14# xfce4 depends on libwnck3, gtk+3 and libepoxy need to be built with x11 PACKAGECONFIG. 14# xfce4 depends on libwnck3, gtk+3 and libepoxy need to be built with x11 PACKAGECONFIG.
15# cairo would at least needed to be built with xlib. 15# cairo would at least needed to be built with xlib.
16ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" 16ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
17 17
18SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/glade/3.22/glade-${PV}.tar.xz \ 18SRC_URI = "${GNOME_MIRROR}/glade/3.36/glade-${PV}.tar.xz \
19 file://remove-yelp-help-rules-var.patch \ 19 file://remove-yelp-help-rules-var.patch \
20 file://CVE-2020-36774.patch \
20 " 21 "
21SRC_URI[md5sum] = "c074fa378c8f1ad80d20133c4ae6f42d" 22SRC_URI[sha256sum] = "19b546b527cc46213ccfc8022d49ec57e618fe2caa9aa51db2d2862233ea6f08"
22SRC_URI[sha256sum] = "edefa6eb24b4d15bd52589121dc109bc08c286157c41288deb74dd9cc3f26a21"
23 23
24EXTRA_OECONF += "--disable-man-pages" 24EXTRA_OECONF += "--disable-man-pages"
25 25
26FILES:${PN} += "${datadir}/glade ${datadir}/metainfo ${libdir}/glade/modules/libgladegtk.so" 26FILES:${PN} += "${datadir}/glade ${datadir}/metainfo ${libdir}/glade/modules/libgladegtk.so"
27
28
29
30
31
32
33
diff --git a/meta-oe/recipes-devtools/grpc/grpc_1.60.1.bb b/meta-oe/recipes-devtools/grpc/grpc_1.71.0.bb
index 63c696a623..53867b8fe6 100644
--- a/meta-oe/recipes-devtools/grpc/grpc_1.60.1.bb
+++ b/meta-oe/recipes-devtools/grpc/grpc_1.71.0.bb
@@ -3,11 +3,15 @@ Provides gRPC libraries for multiple languages written on top of shared C core l
3(C++, Node.js, Python, Ruby, Objective-C, PHP, C#)" 3(C++, Node.js, Python, Ruby, Objective-C, PHP, C#)"
4HOMEPAGE = "https://github.com/grpc/grpc" 4HOMEPAGE = "https://github.com/grpc/grpc"
5SECTION = "libs" 5SECTION = "libs"
6LICENSE = "Apache-2.0 & BSD-3-Clause & MPL-2.0" 6LICENSE = "Apache-2.0 & BSD-3-Clause & MPL-2.0 & MIT & BSD-2-Clause"
7LIC_FILES_CHKSUM = "file://LICENSE;md5=731e401b36f8077ae0c134b59be5c906" 7LIC_FILES_CHKSUM = " \
8 file://LICENSE;md5=731e401b36f8077ae0c134b59be5c906 \
9 file://third_party/utf8_range/LICENSE;md5=d4974d297231477b2ff507c35d61c13c \
10 file://third_party/xxhash/LICENSE;md5=cdfe7764d5685d8e08b3df302885d7f3 \
11"
8 12
9DEPENDS = "c-ares protobuf protobuf-native openssl libnsl2 abseil-cpp re2 zlib" 13DEPENDS = "abseil-cpp c-ares openssl protobuf protobuf-native re2 zlib"
10DEPENDS:append:class-target = " googletest grpc-native " 14DEPENDS:append:class-target = " grpc-native"
11DEPENDS:append:class-nativesdk = " grpc-native " 15DEPENDS:append:class-nativesdk = " grpc-native "
12 16
13PACKAGE_BEFORE_PN = "${PN}-compiler" 17PACKAGE_BEFORE_PN = "${PN}-compiler"
@@ -19,14 +23,11 @@ RDEPENDS:${PN}-dev:append:class-native = " ${PN}-compiler"
19# Both dependencies are mutually exclusive 23# Both dependencies are mutually exclusive
20# RDEPENDS:${PN}-dev += "${PN}-compiler" 24# RDEPENDS:${PN}-dev += "${PN}-compiler"
21 25
22S = "${WORKDIR}/git" 26SRCREV_grpc = "4e9357bca1408596663a218c0c608a4c0560a867"
23SRCREV_grpc = "e5ae3b6b44bf3b64d24bfb4b4f82556239b986db" 27BRANCH = "v1.71.x"
24BRANCH = "v1.60.x"
25SRC_URI = "gitsm://github.com/grpc/grpc.git;protocol=https;name=grpc;branch=${BRANCH} \ 28SRC_URI = "gitsm://github.com/grpc/grpc.git;protocol=https;name=grpc;branch=${BRANCH} \
26 file://0001-cmake-Link-with-libatomic-on-rv32-rv64.patch \ 29 file://0001-cmake-Link-with-libatomic-on-rv32-rv64.patch \
27 " 30 "
28# Fixes build with older compilers 4.8 especially on ubuntu 14.04
29CXXFLAGS:append:class-native = " -Wl,--no-as-needed"
30 31
31inherit cmake pkgconfig 32inherit cmake pkgconfig
32 33
@@ -52,7 +53,7 @@ PACKAGECONFIG[objective-c] = "-DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=ON,-DgRPC_BUI
52PACKAGECONFIG[php] = "-DgRPC_BUILD_GRPC_PHP_PLUGIN=ON,-DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF" 53PACKAGECONFIG[php] = "-DgRPC_BUILD_GRPC_PHP_PLUGIN=ON,-DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF"
53PACKAGECONFIG[python] = "-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=ON,-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=OFF" 54PACKAGECONFIG[python] = "-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=ON,-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=OFF"
54PACKAGECONFIG[ruby] = "-DgRPC_BUILD_GRPC_RUBY_PLUGIN=ON,-DgRPC_BUILD_GRPC_RUBY_PLUGIN=OFF" 55PACKAGECONFIG[ruby] = "-DgRPC_BUILD_GRPC_RUBY_PLUGIN=ON,-DgRPC_BUILD_GRPC_RUBY_PLUGIN=OFF"
55PACKAGECONFIG[protobuf-lite] = "-DgRPC_USE_PROTO_LITE=ON,-DgRPC_USE_PROTO_LITE=OFF,protobuf-lite" 56PACKAGECONFIG[protobuf-lite] = "-DgRPC_USE_PROTO_LITE=ON,-DgRPC_USE_PROTO_LITE=OFF"
56PACKAGECONFIG[shared] = "-DBUILD_SHARED_LIBS=ON,-DBUILD_SHARED_LIBS=OFF,," 57PACKAGECONFIG[shared] = "-DBUILD_SHARED_LIBS=ON,-DBUILD_SHARED_LIBS=OFF,,"
57 58
58do_configure:prepend() { 59do_configure:prepend() {
diff --git a/meta-oe/recipes-devtools/guider/guider_3.9.8.bb b/meta-oe/recipes-devtools/guider/guider_3.9.9.bb
index 0d93297a07..27f39ed1e1 100644
--- a/meta-oe/recipes-devtools/guider/guider_3.9.8.bb
+++ b/meta-oe/recipes-devtools/guider/guider_3.9.9.bb
@@ -1,16 +1,15 @@
1SUMMARY = "performance analyzer" 1SUMMARY = "unified performance analyzer"
2HOMEPAGE = "https://github.com/iipeace/guider" 2HOMEPAGE = "https://github.com/iipeace/guider"
3BUGTRACKER = "https://github.com/iipeace/guider/issues" 3BUGTRACKER = "https://github.com/iipeace/guider/issues"
4 4
5LICENSE = "GPL-2.0-or-later" 5LICENSE = "GPL-2.0-or-later"
6LIC_FILES_CHKSUM = "file://LICENSE;md5=2c1c00f9d3ed9e24fa69b932b7e7aff2" 6LIC_FILES_CHKSUM = "file://LICENSE;md5=2c1c00f9d3ed9e24fa69b932b7e7aff2"
7 7
8PV = "3.9.8+git" 8PV = "3.9.9"
9 9
10SRC_URI = "git://github.com/iipeace/${BPN};branch=master;protocol=https" 10SRC_URI = "git://github.com/iipeace/${BPN};branch=master;protocol=https;tag=versions/${PV}"
11SRCREV = "a502cd93b13235b7539557a91328de00b7c51bc3" 11SRCREV = "118ab61773463e56dedc78f5cf6723b97a4ad946"
12 12
13S = "${WORKDIR}/git"
14 13
15inherit setuptools3 14inherit setuptools3
16 15
diff --git a/meta-oe/recipes-devtools/heaptrack/heaptrack_1.2.0.bb b/meta-oe/recipes-devtools/heaptrack/heaptrack_1.2.0.bb
index be2c0f5394..3aca51ee3e 100644
--- a/meta-oe/recipes-devtools/heaptrack/heaptrack_1.2.0.bb
+++ b/meta-oe/recipes-devtools/heaptrack/heaptrack_1.2.0.bb
@@ -19,7 +19,6 @@ SRC_URI = "git://github.com/KDE/heaptrack.git;protocol=https;branch=master \
19 19
20SRCREV = "bc9e3744bcc47de978673d1e382f4125a1ab5fa8" 20SRCREV = "bc9e3744bcc47de978673d1e382f4125a1ab5fa8"
21 21
22S = "${WORKDIR}/git"
23 22
24inherit cmake 23inherit cmake
25 24
@@ -30,3 +29,33 @@ COMPATIBLE_HOST:riscv32 = "null"
30COMPATIBLE_HOST:riscv64 = "null" 29COMPATIBLE_HOST:riscv64 = "null"
31 30
32BBCLASSEXTEND = "native" 31BBCLASSEXTEND = "native"
32
33# http://errors.yoctoproject.org/Errors/Details/766879/
34# buildResult:
35# variable: "LIBUNWIND_HAS_UNW_BACKTRACE"
36# cached: true
37# stdout: |
38# Change Dir: '/OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/build/CMakeFiles/CMakeScratch/TryCompile-kguYrO'
39#
40# Run Build Command(s): ninja -v cmTC_51d86
41# [1/2] ccache /OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/recipe-sysroot-native/usr/bin/aarch64-webos-linux/aarch64-webos-linux-gcc --sysroot=/OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/recipe-sysroot -DLIBUNWIND_HAS_UNW_BACKTRACE -mcpu=cortex-a72+crc -mbranch-protection=standard -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -Werror=return-type --sysroot=/OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/recipe-sysroot -O2 -pipe -g -feliminate-unused-debug-types -fcanon-prefix-map -fmacro-prefix-map=/OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/git=/usr/src/debug/heaptrack/1.2.0 -fdebug-prefix-map=/OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/git=/usr/src/debug/heaptrack/1.2.0 -fmacro-prefix-map=/OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/build=/usr/src/debug/heaptrack/1.2.0 -fdebug-prefix-map=/OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/build=/usr/src/debug/heaptrack/1.2.0 -fdebug-prefix-map=/OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/recipe-sysroot= -fmacro-prefix-map=/OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/recipe-sysroot= -fdebug-prefix-map=/OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/recipe-sysroot-native= -o CMakeFiles/cmTC_51d86.dir/src.c.o -c /OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/build/CMakeFiles/CMakeScratch/TryCompile-kguYrO/src.c
42# FAILED: CMakeFiles/cmTC_51d86.dir/src.c.o
43# ccache /OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/recipe-sysroot-native/usr/bin/aarch64-webos-linux/aarch64-webos-linux-gcc --sysroot=/OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/recipe-sysroot -DLIBUNWIND_HAS_UNW_BACKTRACE -mcpu=cortex-a72+crc -mbranch-protection=standard -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -Werror=return-type --sysroot=/OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/recipe-sysroot -O2 -pipe -g -feliminate-unused-debug-types -fcanon-prefix-map -fmacro-prefix-map=/OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/git=/usr/src/debug/heaptrack/1.2.0 -fdebug-prefix-map=/OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/git=/usr/src/debug/heaptrack/1.2.0 -fmacro-prefix-map=/OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/build=/usr/src/debug/heaptrack/1.2.0 -fdebug-prefix-map=/OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/build=/usr/src/debug/heaptrack/1.2.0 -fdebug-prefix-map=/OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/recipe-sysroot= -fmacro-prefix-map=/OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/recipe-sysroot= -fdebug-prefix-map=/OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/recipe-sysroot-native= -o CMakeFiles/cmTC_51d86.dir/src.c.o -c /OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/build/CMakeFiles/CMakeScratch/TryCompile-kguYrO/src.c
44# src.c: In function 'main':
45# src.c:3:43: error: passing argument 1 of 'unw_backtrace' from incompatible pointer type [-Wincompatible-pointer-types]
46# 3 | int main() { void* buf[10]; unw_backtrace(&buf, 10); return 0; }
47# | ^~~~
48# | |
49# | void * (*)[10]
50# In file included from ../../../../recipe-sysroot/usr/include/libunwind-aarch64.h:232,
51# from ../../../../recipe-sysroot/usr/include/libunwind-64.h:7,
52# from ../../../../recipe-sysroot/usr/include/libunwind.h:27,
53# from src.c:2:
54# ../../../../recipe-sysroot/usr/include/libunwind-common.h:290:27: note: expected 'void **' but argument is of type 'void * (*)[10]'
55# 290 | extern int unw_backtrace (void **, int);
56# | ^~~~~~~
57# ninja: build stopped: subcommand failed.
58#
59# exitCode: 1
60#
61CFLAGS += "-Wno-error=incompatible-pointer-types"
diff --git a/meta-oe/recipes-devtools/icon-slicer/files/hotspotfix.patch b/meta-oe/recipes-devtools/icon-slicer/files/hotspotfix.patch
new file mode 100644
index 0000000000..1f8730aba0
--- /dev/null
+++ b/meta-oe/recipes-devtools/icon-slicer/files/hotspotfix.patch
@@ -0,0 +1,27 @@
1Description: Fix hotspot y coordinate
2Author: Tim Swast <tswast@gmail.com>
3
4Upstream-Status: Pending
5Signed-off-by: Khem Raj <raj.khem@gmail.com>
6--- a/src/main.c
7+++ b/src/main.c
8@@ -103,7 +103,7 @@
9 if (n_channels == 3)
10 {
11 out->x = start_x;
12- out->y = start_x;
13+ out->y = start_y;
14 out->width = source->gridsize;
15 out->height = source->gridsize;
16
17@@ -137,8 +137,8 @@
18 {
19 min_x = start_x + i;
20 max_x = start_x + i + 1;
21- min_y = start_y + i;
22- max_y = start_y + i + 1;
23+ min_y = start_y + j;
24+ max_y = start_y + j + 1;
25
26 found = TRUE;
27 }
diff --git a/meta-oe/recipes-devtools/icon-slicer/icon-slicer_0.3.bb b/meta-oe/recipes-devtools/icon-slicer/icon-slicer_0.3.bb
index 8e7b0ba5a0..f9ae4de0fb 100644
--- a/meta-oe/recipes-devtools/icon-slicer/icon-slicer_0.3.bb
+++ b/meta-oe/recipes-devtools/icon-slicer/icon-slicer_0.3.bb
@@ -1,13 +1,16 @@
1LICENSE = "GPL-2.0-only" 1LICENSE = "GPL-2.0-only"
2LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" 2LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
3 3
4DEPENDS = "gdk-pixbuf popt" 4DEPENDS = "gdk-pixbuf popt xcursorgen"
5 5
6SRC_URI = "http://freedesktop.org/software/${BPN}/releases/${BPN}-${PV}.tar.gz \ 6SRC_URI = "http://freedesktop.org/software/${BPN}/releases/${BPN}-${PV}.tar.gz \
7 file://0001-Makefile.am-no-examples.patch" 7 file://0001-Makefile.am-no-examples.patch \
8SRC_URI[md5sum] = "5c5374d4f265b0abe4daef1d03f87104" 8 file://hotspotfix.patch \
9 "
9SRC_URI[sha256sum] = "05f0216dd0c25a17859de66357f64da5033375b6fbf5f31ca54867311160b64d" 10SRC_URI[sha256sum] = "05f0216dd0c25a17859de66357f64da5033375b6fbf5f31ca54867311160b64d"
10 11
11inherit autotools pkgconfig 12inherit autotools pkgconfig features_check
13# because of xcursorgen dependency
14REQUIRED_DISTRO_FEATURES = "x11"
12 15
13BBCLASSEXTEND = "native" 16BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/iptraf/iptraf-ng_1.2.1.bb b/meta-oe/recipes-devtools/iptraf/iptraf-ng_1.2.1.bb
index 0f6bbb4d54..f9e2c7873c 100644
--- a/meta-oe/recipes-devtools/iptraf/iptraf-ng_1.2.1.bb
+++ b/meta-oe/recipes-devtools/iptraf/iptraf-ng_1.2.1.bb
@@ -42,7 +42,7 @@ do_compile() {
42do_install() { 42do_install() {
43 oe_runmake DESTDIR=${D} install 43 oe_runmake DESTDIR=${D} install
44 install -D -m 0644 -p ${S}/iptraf-ng-logrotate.conf ${D}${sysconfdir}/logrotate.d/iptraf-ng 44 install -D -m 0644 -p ${S}/iptraf-ng-logrotate.conf ${D}${sysconfdir}/logrotate.d/iptraf-ng
45 install -Dm 0644 ${WORKDIR}/iptraf-ng-tmpfiles.conf ${D}${libdir}/tmpfiles.d/iptraf-ng-tmpfiles.conf 45 install -Dm 0644 ${UNPACKDIR}/iptraf-ng-tmpfiles.conf ${D}${libdir}/tmpfiles.d/iptraf-ng-tmpfiles.conf
46} 46}
47 47
48FILES:${PN} += "${libdir}/tmpfiles.d" 48FILES:${PN} += "${libdir}/tmpfiles.d"
diff --git a/meta-oe/recipes-devtools/jemalloc/jemalloc_5.3.0.bb b/meta-oe/recipes-devtools/jemalloc/jemalloc_5.3.0.bb
index 7e0272f898..aa1f417604 100644
--- a/meta-oe/recipes-devtools/jemalloc/jemalloc_5.3.0.bb
+++ b/meta-oe/recipes-devtools/jemalloc/jemalloc_5.3.0.bb
@@ -17,8 +17,9 @@ SRC_URI = "git://github.com/jemalloc/jemalloc.git;branch=dev;protocol=https \
17 file://run-ptest \ 17 file://run-ptest \
18 " 18 "
19SRCREV = "630434bb0ac619f7beec927569782d924c459385" 19SRCREV = "630434bb0ac619f7beec927569782d924c459385"
20PV_LONG := "${PV}-171-g${SRCREV}"
21PV .= "+git"
20 22
21S = "${WORKDIR}/git"
22 23
23inherit autotools ptest 24inherit autotools ptest
24 25
@@ -27,7 +28,7 @@ EXTRA_AUTORECONF += "--exclude=autoheader"
27EXTRA_OECONF:append:libc-musl = " --with-jemalloc-prefix=je_" 28EXTRA_OECONF:append:libc-musl = " --with-jemalloc-prefix=je_"
28# For some reason VERSION file populated only in tarball distribution. 29# For some reason VERSION file populated only in tarball distribution.
29# Adding jemalloc version since this recipe is using source code from git tag 30# Adding jemalloc version since this recipe is using source code from git tag
30EXTRA_OECONF:append = " --with-version=${PV}-0-g${SRCREV} --enable-xmalloc" 31EXTRA_OECONF:append = " --with-version=${PV_LONG} --enable-xmalloc"
31 32
32do_install:append() { 33do_install:append() {
33 sed -i -e 's@${STAGING_DIR_HOST}@@g' \ 34 sed -i -e 's@${STAGING_DIR_HOST}@@g' \
diff --git a/meta-oe/recipes-devtools/jq/jq_1.7.1.bb b/meta-oe/recipes-devtools/jq/jq_1.8.0.bb
index 6b12335513..4aaf27da9a 100644
--- a/meta-oe/recipes-devtools/jq/jq_1.7.1.bb
+++ b/meta-oe/recipes-devtools/jq/jq_1.8.0.bb
@@ -6,13 +6,13 @@ HOMEPAGE = "https://jqlang.github.io/jq/"
6BUGTRACKER = "https://github.com/jqlang/jq/issues" 6BUGTRACKER = "https://github.com/jqlang/jq/issues"
7SECTION = "utils" 7SECTION = "utils"
8LICENSE = "MIT" 8LICENSE = "MIT"
9LIC_FILES_CHKSUM = "file://COPYING;md5=488f4e0b04c0456337fb70d1ac1758ba" 9LIC_FILES_CHKSUM = "file://COPYING;md5=08ffb5ac7e7e6bfc66968b89f01f512a"
10 10
11GITHUB_BASE_URI = "https://github.com/jqlang/${BPN}/releases/" 11GITHUB_BASE_URI = "https://github.com/jqlang/${BPN}/releases/"
12SRC_URI = "${GITHUB_BASE_URI}/download/${BPN}-${PV}/${BPN}-${PV}.tar.gz \ 12SRC_URI = "${GITHUB_BASE_URI}/download/${BPN}-${PV}/${BPN}-${PV}.tar.gz \
13 file://run-ptest \ 13 file://run-ptest \
14 " 14 "
15SRC_URI[sha256sum] = "478c9ca129fd2e3443fe27314b455e211e0d8c60bc8ff7df703873deeee580c2" 15SRC_URI[sha256sum] = "91811577f91d9a6195ff50c2bffec9b72c8429dc05ec3ea022fd95c06d2b319c"
16 16
17inherit autotools github-releases ptest 17inherit autotools github-releases ptest
18 18
@@ -43,4 +43,6 @@ do_install_ptest() {
43 sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest 43 sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest
44} 44}
45 45
46RDEPENDS:${PN}-ptest += "tzdata"
47
46BBCLASSEXTEND = "native" 48BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator_2.2.0.bb b/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator_2.2.0.bb
index 02dcdb2696..c6e910a137 100644
--- a/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator_2.2.0.bb
+++ b/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator_2.2.0.bb
@@ -11,9 +11,10 @@ SRC_URI = "git://github.com/pboettch/json-schema-validator;branch=main;protocol=
11 11
12SRCREV = "6b17782d6a5d1dee5d2c4fc5d25ffb1123913431" 12SRCREV = "6b17782d6a5d1dee5d2c4fc5d25ffb1123913431"
13 13
14S = "${WORKDIR}/git"
15 14
16DEPENDS += "nlohmann-json" 15DEPENDS += "nlohmann-json"
17 16
18inherit cmake 17inherit cmake
19EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON -DJSON_VALIDATOR_BUILD_TESTS=OFF -DJSON_VALIDATOR_BUILD_EXAMPLES=OFF" 18EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON -DJSON_VALIDATOR_BUILD_TESTS=OFF -DJSON_VALIDATOR_BUILD_EXAMPLES=OFF"
19
20BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/json-spirit/json-spirit_4.08.bb b/meta-oe/recipes-devtools/json-spirit/json-spirit_4.08.bb
index d6e42c81d5..56ddaf59a5 100644
--- a/meta-oe/recipes-devtools/json-spirit/json-spirit_4.08.bb
+++ b/meta-oe/recipes-devtools/json-spirit/json-spirit_4.08.bb
@@ -16,7 +16,7 @@ SRC_URI = "file://json_spirit_v${PV}.zip \
16 file://0001-Link-to-libatomic.patch \ 16 file://0001-Link-to-libatomic.patch \
17" 17"
18 18
19S = "${WORKDIR}/json_spirit_v${PV}" 19S = "${UNPACKDIR}/json_spirit_v${PV}"
20 20
21inherit cmake 21inherit cmake
22 22
diff --git a/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.5.bb b/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.6.bb
index c54dc94666..f68ffd2c0f 100644
--- a/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.5.bb
+++ b/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.6.bb
@@ -13,13 +13,12 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=5d73c165a0f9e86a1342f32d19ec5926"
13 13
14PE = "1" 14PE = "1"
15 15
16SRCREV = "5defb4ed1a4293b8e2bf641e16b156fb9de498cc" 16SRCREV = "89e2973c754a9c02a49974d839779b151e95afd6"
17SRC_URI = "git://github.com/open-source-parsers/jsoncpp;branch=master;protocol=https" 17SRC_URI = "git://github.com/open-source-parsers/jsoncpp;branch=master;protocol=https"
18 18
19S = "${WORKDIR}/git"
20 19
21inherit cmake 20inherit cmake
22 21
23EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON -DBUILD_OBJECT_LIBS=OFF -DJSONCPP_WITH_TESTS=OFF" 22EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON -DBUILD_OBJECT_LIBS=OFF -DJSONCPP_WITH_TESTS=OFF"
24 23
25BBCLASSEXTEND = "native" 24BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/jsonrpc/jsonrpc_1.4.1.bb b/meta-oe/recipes-devtools/jsonrpc/jsonrpc_1.4.1.bb
index 544922f05d..ae86e20a4a 100644
--- a/meta-oe/recipes-devtools/jsonrpc/jsonrpc_1.4.1.bb
+++ b/meta-oe/recipes-devtools/jsonrpc/jsonrpc_1.4.1.bb
@@ -13,7 +13,6 @@ SRC_URI = "git://github.com/cinemast/libjson-rpc-cpp;branch=master;protocol=http
13 13
14SRCREV = "ec5ce12fc9c0299e1454cc002c70218b5a6f005b" 14SRCREV = "ec5ce12fc9c0299e1454cc002c70218b5a6f005b"
15 15
16S = "${WORKDIR}/git"
17 16
18PACKAGECONFIG ?= "" 17PACKAGECONFIG ?= ""
19PACKAGECONFIG[coverage] = "-DWITH_COVERAGE=YES,-DWITH_COVERAGE=NO,," 18PACKAGECONFIG[coverage] = "-DWITH_COVERAGE=YES,-DWITH_COVERAGE=NO,,"
@@ -25,4 +24,8 @@ EXTRA_OECMAKE += "-DCOMPILE_TESTS=NO -DCOMPILE_STUBGEN=NO -DCOMPILE_EXAMPLES=NO
25 -DCMAKE_LIBRARY_PATH=${libdir} \ 24 -DCMAKE_LIBRARY_PATH=${libdir} \
26" 25"
27 26
27do_install:append() {
28 sed -i -e 's#${RECIPE_SYSROOT}#\${CMAKE_SYSROOT}#g' ${D}${libdir}/libjson-rpc-cpp/cmake/libjson-rpc-cppTargets.cmake
29}
30
28FILES:${PN}-dev += "${libdir}/libjson-rpc-cpp/cmake" 31FILES:${PN}-dev += "${libdir}/libjson-rpc-cpp/cmake"
diff --git a/meta-oe/recipes-devtools/jwt-cpp/jwt-cpp_0.7.0.bb b/meta-oe/recipes-devtools/jwt-cpp/jwt-cpp_0.7.1.bb
index 19424337f7..5ad953d260 100644
--- a/meta-oe/recipes-devtools/jwt-cpp/jwt-cpp_0.7.0.bb
+++ b/meta-oe/recipes-devtools/jwt-cpp/jwt-cpp_0.7.1.bb
@@ -7,9 +7,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=8325a5ce4414c65ffdda392e0d96a9ff"
7SRC_URI = "git://github.com/Thalhammer/jwt-cpp.git;branch=master;protocol=https \ 7SRC_URI = "git://github.com/Thalhammer/jwt-cpp.git;branch=master;protocol=https \
8 " 8 "
9 9
10SRCREV = "08bcf77a687fb06e34138e9e9fa12a4ecbe12332" 10SRCREV = "e71e0c2d584baff06925bbb3aad683f677e4d498"
11 11
12S = "${WORKDIR}/git"
13 12
14DEPENDS = "openssl" 13DEPENDS = "openssl"
15 14
diff --git a/meta-oe/recipes-devtools/kconfig-frontends/kconfig-frontends_4.11.0.1.bb b/meta-oe/recipes-devtools/kconfig-frontends/kconfig-frontends_4.11.0.1.bb
index b894f0ba03..43a61908f5 100644
--- a/meta-oe/recipes-devtools/kconfig-frontends/kconfig-frontends_4.11.0.1.bb
+++ b/meta-oe/recipes-devtools/kconfig-frontends/kconfig-frontends_4.11.0.1.bb
@@ -20,7 +20,9 @@ SRC_URI = "git://gitlab.com/ymorin/kconfig-frontends.git;protocol=https;branch=4
20 20
21SRCREV = "f22fce3a308be1c7790ebefc6bbedb33c5f7c86a" 21SRCREV = "f22fce3a308be1c7790ebefc6bbedb33c5f7c86a"
22 22
23S = "${WORKDIR}/git" 23# Upstream repo does not tag
24UPSTREAM_CHECK_COMMITS = "1"
25
24 26
25inherit autotools pkgconfig 27inherit autotools pkgconfig
26do_configure:prepend () { 28do_configure:prepend () {
diff --git a/meta-oe/recipes-devtools/lapack/lapack_3.12.0.bb b/meta-oe/recipes-devtools/lapack/lapack_3.12.0.bb
deleted file mode 100644
index fef9d3a80e..0000000000
--- a/meta-oe/recipes-devtools/lapack/lapack_3.12.0.bb
+++ /dev/null
@@ -1,59 +0,0 @@
1SUMMARY = "Linear Algebra PACKage"
2URL = "http://www.netlib.org/lapack"
3LICENSE = "BSD-3-Clause"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=d0e7a458f9fcbf0a3ba97cef3128b85d"
5
6# Recipe needs FORTRAN support (copied from conf/local.conf.sample.extended)
7# Enabling FORTRAN
8# Note this is not officially supported and is just illustrated here to
9# show an example of how it can be done
10# You'll also need your fortran recipe to depend on libgfortran
11#FORTRAN:forcevariable = ",fortran"
12#RUNTIMETARGET:append:pn-gcc-runtime = " libquadmath"
13
14DEPENDS = "libgfortran \
15 ${@bb.utils.contains('PTEST_ENABLED', '1', 'rsync-native', '', d)} \
16 "
17RDEPENDS:${PN}-ptest += "cmake"
18
19SRCREV = "04b044e020a3560ccfa9988c8a80a1fb7083fc2e"
20SRC_URI = "git://github.com/Reference-LAPACK/lapack.git;protocol=https;branch=master \
21 ${@bb.utils.contains('PTEST_ENABLED', '1', 'file://run-ptest', '', d)} \
22 "
23S = "${WORKDIR}/git"
24
25PACKAGECONFIG ?= ""
26PACKAGECONFIG[lapacke] = "-DLAPACKE=ON,-DLAPACKE=OFF"
27
28EXTRA_OECMAKE = " -DBUILD_SHARED_LIBS=ON \
29 ${@bb.utils.contains('PTEST_ENABLED', '1', ' -DBUILD_TESTING=ON', '', d)} \
30 "
31OECMAKE_GENERATOR = "Unix Makefiles"
32
33inherit cmake pkgconfig ptest
34EXCLUDE_FROM_WORLD = "1"
35
36do_install_ptest () {
37 rsync -a ${B}/TESTING ${D}${PTEST_PATH} \
38 --exclude CMakeFiles \
39 --exclude cmake_install.cmake \
40 --exclude Makefile
41 rsync -a ${B}/BLAS ${D}${PTEST_PATH} \
42 --exclude CMakeFiles \
43 --exclude cmake_install.cmake \
44 --exclude Makefile
45 rsync -a ${B}/LAPACKE ${D}${PTEST_PATH} \
46 --exclude CMakeFiles \
47 --exclude cmake_install.cmake \
48 --exclude Makefile
49 cp -r ${B}/bin ${D}${PTEST_PATH}
50 cp -r ${B}/lapack_testing.py ${D}${PTEST_PATH}
51 cp ${B}/CTestTestfile.cmake ${D}${PTEST_PATH}
52 cp ${S}/TESTING/*.in ${S}/TESTING/runtest.cmake ${D}${PTEST_PATH}/TESTING
53 cp ${S}/BLAS/TESTING/*.in ${D}${PTEST_PATH}/BLAS/TESTING
54 sed -i -e 's#${B}#${PTEST_PATH}#g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake`
55 sed -i -e 's#${S}#${PTEST_PATH}#g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake`
56 sed -i -e 's#${RECIPE_SYSROOT_NATIVE}##g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake`
57 sed -i -e 's#${PYTHON}#/usr/bin/python3#g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake`
58 sed -i -e 's#${WORKDIR}##g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake`
59}
diff --git a/meta-oe/recipes-devtools/lapack/lapack_3.12.1.bb b/meta-oe/recipes-devtools/lapack/lapack_3.12.1.bb
new file mode 100644
index 0000000000..63069b4b83
--- /dev/null
+++ b/meta-oe/recipes-devtools/lapack/lapack_3.12.1.bb
@@ -0,0 +1,105 @@
1SUMMARY = "Linear Algebra PACKage"
2URL = "http://www.netlib.org/lapack"
3LICENSE = "BSD-3-Clause"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=d0e7a458f9fcbf0a3ba97cef3128b85d"
5
6# Recipe needs FORTRAN support (copied from conf/local.conf.sample.extended)
7# Enabling FORTRAN
8# Note this is not officially supported and is just illustrated here to
9# show an example of how it can be done
10# You'll also need your fortran recipe to depend on libgfortran
11#FORTRAN:forcevariable = ",fortran"
12#RUNTIMETARGET:append:pn-gcc-runtime = " libquadmath"
13
14DEPENDS = "libgfortran \
15 ${@bb.utils.contains('PTEST_ENABLED', '1', 'rsync-native', '', d)} \
16 "
17RDEPENDS:${PN}-ptest += "cmake"
18
19SRCREV = "5ebe92156143a341ab7b14bf76560d30093cfc54"
20SRC_URI = "git://github.com/Reference-LAPACK/lapack.git;protocol=https;branch=master \
21 ${@bb.utils.contains('PTEST_ENABLED', '1', 'file://run-ptest', '', d)} \
22 "
23
24PACKAGECONFIG ?= ""
25PACKAGECONFIG[lapacke] = "-DLAPACKE=ON,-DLAPACKE=OFF"
26PACKAGECONFIG[cblas] = "-DCBLAS=ON,-DCBLAS=OFF"
27
28EXTRA_OECMAKE = " -DBUILD_SHARED_LIBS=ON \
29 ${@bb.utils.contains('PTEST_ENABLED', '1', ' -DBUILD_TESTING=ON', '', d)} \
30 "
31OECMAKE_GENERATOR = "Unix Makefiles"
32
33inherit cmake pkgconfig ptest
34EXCLUDE_FROM_WORLD = "1"
35
36# The `xerbla.o` file contains an absolute path in `xerbla.f.o`, but the options
37# `-fdebug-prefix-map` and `-ffile-prefix-map` cannot be used because gfortran does
38# not support them. And we cannot easily change CMake to use relative paths, because
39# it will convert them to absolute paths when generating Unix Makefiles or Ninja:
40# https://gitlab.kitware.com/cmake/community/-/wikis/FAQ#why-does-cmake-use-full-paths-or-can-i-copy-my-build-tree
41# https://gitlab.kitware.com/cmake/cmake/-/issues/13894
42#
43# To address this issue, we manually replace the absolute path with a relative path
44# in the generated `build.make` file.
45#
46# An issue has been reported: https://github.com/Reference-LAPACK/lapack/issues/1087,
47# requesting a fix in the source code.
48#
49# This workaround resolves the TMPDIR [buildpaths] issue by converting the absolute path
50# of `xerbla.f` to a relative path. The steps are as follows:
51#
52# 1. Locate all `build.make` files after the `do_configure` step is completed.
53# 2. Compute the relative path for various `*.f` files based on the current build directory.
54# 3. Replace the absolute path with the calculated relative path in the `build.make` files
55#
56# Additionally, when ptests are enabled, apply a simpler workaround for ptest code:
57# - Replace occurrences of `${WORKDIR}` in all `build.make` files under the TESTING directory, excluding
58# the MATGEN subdirectory, with a relative path prefix of `"../../.."`.
59do_configure:append(){
60 for file in `find ${B} -name build.make`; do
61 # Replacing all .f files found with:
62 # for f in $(find ${S} -name \*.f -printf " %f" | sort -u); do
63 # would be more reliable with other optional PACKAGECONFIGs, but also very slow as there are
64 # ~ 3500 of them and this loop takes around 20 minutes
65 for f in xerbla.f c_cblat1.f c_cblat2.f c_cblat3.f c_dblat1.f c_dblat2.f c_dblat3.f c_sblat1.f c_sblat2.f c_sblat3.f c_zblat1.f c_zblat2.f c_zblat3.f cchkdmd.f90 dchkdmd.f90 schkdmd.f90 zchkdmd.f90; do
66 sed -i -e "s#\(.*-c \).*\(/$f \)#\1$(grep "\-c .*$f" $file | awk -F'cd ' '{print $2}'| \
67 awk "{src=\$1; sub(/.*-c /, \"\"); sub(/$f.*/, \"\"); obj=\$0; print src, obj}" | \
68 while read src obj; do echo "$(realpath --relative-to="$src" "$obj")"; done)\2#g" $file
69 done
70 done
71 if ${@bb.utils.contains('PTEST_ENABLED', '1', 'true', 'false', d)} ; then
72 for file in `find . -name build.make -path '*TESTING*' -not -path '*MATGEN*'`; do
73 sed -i -e "s#\(.*-c \)\(${WORKDIR}\)\(.*.[f|F] \)#\1../../..\3#g" $file
74 done
75 fi
76}
77
78do_install_ptest () {
79 rsync -a ${B}/TESTING ${D}${PTEST_PATH} \
80 --exclude CMakeFiles \
81 --exclude cmake_install.cmake \
82 --exclude Makefile
83 rsync -a ${B}/BLAS ${D}${PTEST_PATH} \
84 --exclude CMakeFiles \
85 --exclude cmake_install.cmake \
86 --exclude Makefile
87 rsync -a ${B}/LAPACKE ${D}${PTEST_PATH} \
88 --exclude CMakeFiles \
89 --exclude cmake_install.cmake \
90 --exclude Makefile \
91 --exclude lapacke.pc
92 cp -r ${B}/bin ${D}${PTEST_PATH}
93 cp -r ${B}/lapack_testing.py ${D}${PTEST_PATH}
94 cp ${B}/CTestTestfile.cmake ${D}${PTEST_PATH}
95 cp ${S}/TESTING/*.in ${S}/TESTING/runtest.cmake ${D}${PTEST_PATH}/TESTING
96 cp ${S}/BLAS/TESTING/*.in ${D}${PTEST_PATH}/BLAS/TESTING
97 sed -i -e 's#${B}#${PTEST_PATH}#g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake`
98 sed -i -e 's#${S}#${PTEST_PATH}#g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake`
99 sed -i -e 's#${RECIPE_SYSROOT_NATIVE}##g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake`
100 sed -i -e 's#${PYTHON}#/usr/bin/python3#g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake`
101 sed -i -e 's#${WORKDIR}##g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake`
102}
103
104# It needs fortran compiler and we do not enable fortran with clang yet
105TOOLCHAIN = "gcc"
diff --git a/meta-oe/recipes-devtools/ldns/ldns_1.8.3.bb b/meta-oe/recipes-devtools/ldns/ldns_1.8.4.bb
index 16816e62d8..f071f579df 100644
--- a/meta-oe/recipes-devtools/ldns/ldns_1.8.3.bb
+++ b/meta-oe/recipes-devtools/ldns/ldns_1.8.4.bb
@@ -4,7 +4,7 @@ LICENSE = "BSD-3-Clause"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=34330f15b2b4abbbaaa7623f79a6a019" 4LIC_FILES_CHKSUM = "file://LICENSE;md5=34330f15b2b4abbbaaa7623f79a6a019"
5 5
6SRC_URI = "https://www.nlnetlabs.nl/downloads/ldns/ldns-${PV}.tar.gz" 6SRC_URI = "https://www.nlnetlabs.nl/downloads/ldns/ldns-${PV}.tar.gz"
7SRC_URI[sha256sum] = "c3f72dd1036b2907e3a56e6acf9dfb2e551256b3c1bbd9787942deeeb70e7860" 7SRC_URI[sha256sum] = "838b907594baaff1cd767e95466a7745998ae64bc74be038dccc62e2de2e4247"
8 8
9DEPENDS = "openssl" 9DEPENDS = "openssl"
10 10
@@ -19,5 +19,6 @@ do_install:append() {
19 sed -e 's@[^ ]*-ffile-prefix-map=[^ "]*@@g' \ 19 sed -e 's@[^ ]*-ffile-prefix-map=[^ "]*@@g' \
20 -e 's@[^ ]*-fdebug-prefix-map=[^ "]*@@g' \ 20 -e 's@[^ ]*-fdebug-prefix-map=[^ "]*@@g' \
21 -e 's@[^ ]*-fmacro-prefix-map=[^ "]*@@g' \ 21 -e 's@[^ ]*-fmacro-prefix-map=[^ "]*@@g' \
22 -i ${D}${libdir}/pkgconfig/*.pc 22 -e 's@${RECIPE_SYSROOT}@@g' \
23 -i ${D}${libdir}/pkgconfig/*.pc ${D}${bindir}/ldns-config
23} 24}
diff --git a/meta-oe/recipes-devtools/lemon/lemon_3.44.2.bb b/meta-oe/recipes-devtools/lemon/lemon_3.44.2.bb
index 2904a454dc..8a8491b76b 100644
--- a/meta-oe/recipes-devtools/lemon/lemon_3.44.2.bb
+++ b/meta-oe/recipes-devtools/lemon/lemon_3.44.2.bb
@@ -9,7 +9,6 @@ SRC_URI = "git://github.com/sqlite/sqlite;protocol=https;branch=branch-3.44"
9 9
10SRCREV = "c8f9803dc32bfee78a9ca2b1abbe39499729219b" 10SRCREV = "c8f9803dc32bfee78a9ca2b1abbe39499729219b"
11 11
12S = "${WORKDIR}/git"
13 12
14do_compile() { 13do_compile() {
15 ${CC} ${CFLAGS} ${LDFLAGS} tool/lemon.c -o lemon 14 ${CC} ${CFLAGS} ${LDFLAGS} tool/lemon.c -o lemon
diff --git a/meta-oe/recipes-devtools/libabigail/libabigail/0001-Check-for-correct-fts-module.patch b/meta-oe/recipes-devtools/libabigail/libabigail/0001-Check-for-correct-fts-module.patch
new file mode 100644
index 0000000000..7c500e0b54
--- /dev/null
+++ b/meta-oe/recipes-devtools/libabigail/libabigail/0001-Check-for-correct-fts-module.patch
@@ -0,0 +1,91 @@
1From 0db4af09f1bf4456527b5f6ec60fc1305e770c4c Mon Sep 17 00:00:00 2001
2From: Ross Burton <ross.burton@arm.com>
3Date: Tue, 9 Jul 2024 15:19:35 +0100
4Subject: [PATCH] configure.ac: improve fts checks
5
6The current code checks explicitly for musl and if so uses pkg-config to
7find fts-standalone. This is suboptimal because musl may not be the only
8libc to need a standalone fts implementation, and fts-standalone is an
9old gentoo-specific name[1] so libabigail won't build on any other system
10against musl.
11
12Instead, use AC_SEARCH_LIBS to look for fts_open in libc then libfts. Do
13this before the check for behaviour just in case someone has a standalone
14and broken implementation. I assume that the standalone fts is installed
15on the standard search path, which should be a fair assumption.
16
17As we're not using pkg-config anymore the required link flags are now in
18LIBS, so remove all instances of FTS_CFLAGS and FTS_LIBS.
19
20[1] https://gitweb.gentoo.org/repo/gentoo.git/commit/sys-libs/fts-standalone?id=a403fe6c61d1aaeecd58d521f3def2f6d3513449
21
22Upstream-Status: Submitted [https://sourceware.org/pipermail/libabigail/2024q3/005973.html]
23Signed-off-by: Ross Burton <ross.burton@arm.com>
24---
25 configure.ac | 9 ++++-----
26 src/Makefile.am | 4 ++--
27 tools/Makefile.am | 2 --
28 3 files changed, 6 insertions(+), 9 deletions(-)
29
30diff --git a/configure.ac b/configure.ac
31index e118a9c0..0aff2ec2 100644
32--- a/configure.ac
33+++ b/configure.ac
34@@ -281,6 +281,10 @@ fi
35
36 AC_SUBST(VISIBILITY_FLAGS)
37
38+# glibc and BSD include fts into their libc, but musl does not so check if we
39+# need to explicitly link to the standalone musl-fts.
40+AC_SEARCH_LIBS([fts_open], [fts])
41+
42 dnl Older glibc had a broken fts that didn't work with Large File Systems.
43 dnl We want the version that can handler LFS, but include workaround if we
44 dnl get a bad one. Add define to CFLAGS (not AC_DEFINE it) since we need to
45@@ -295,11 +299,6 @@ AS_IF([test "x$ac_cv_bad_fts" = "xyes"],
46 [CFLAGS="$CFLAGS -DBAD_FTS=1",
47 CXXFLAGS="$CXXFLAGS -DBAD_FTS=1"])
48
49-dnl On musl, we need to find fts-standalone
50-AS_CASE(
51- [${host_os}], [*-musl*], [
52- PKG_CHECK_MODULES([FTS], [fts-standalone])
53-])
54
55 dnl Check for dependency: libelf, libdw, libebl (elfutils)
56 dnl Note that we need to use at least elfutils 0.159 but
57diff --git a/src/Makefile.am b/src/Makefile.am
58index 3044c136..1c98bf84 100644
59--- a/src/Makefile.am
60+++ b/src/Makefile.am
61@@ -52,12 +52,12 @@ if BTF_READER
62 libabigail_la_SOURCES += abg-btf-reader.cc
63 endif
64
65-libabigail_la_LIBADD = $(DEPS_LIBS) $(FTS_LIBS)
66+libabigail_la_LIBADD = $(DEPS_LIBS)
67 libabigail_la_LDFLAGS = -lpthread -Wl,--as-needed -no-undefined -version-info $(LIBABIGAIL_SO_CURRENT):$(LIBABIGAIL_SO_REVISION):$(LIBABIGAIL_SO_AGE)
68
69 CUSTOM_MACROS = -DABIGAIL_ROOT_SYSTEM_LIBDIR=\"${libdir}\"
70
71 AM_CPPFLAGS=\
72-$(CUSTOM_MACROS) $(DEPS_CPPFLAGS) $(FTS_CFLAGS) \
73+$(CUSTOM_MACROS) $(DEPS_CPPFLAGS) \
74 -Wall -I$(abs_top_srcdir) -I$(abs_top_srcdir)/include \
75 -I$(abs_top_builddir)/include -I$(abs_top_builddir)
76diff --git a/tools/Makefile.am b/tools/Makefile.am
77index cbb5ce10..ea2d300c 100644
78--- a/tools/Makefile.am
79+++ b/tools/Makefile.am
80@@ -41,8 +41,6 @@ abicompatdir = $(bindir)
81
82 abipkgdiff_SOURCES = abipkgdiff.cc
83 abipkgdiffdir = $(bindir)
84-abipkgdiff_CPPFLAGS = $(FTS_CFLAGS)
85-abipkgdiff_LDADD = $(FTS_LIBS)
86 abipkgdiff_LDFLAGS = $(abs_top_builddir)/src/libabigail.la -pthread
87
88 kmidiff_SOURCES = kmidiff.cc
89--
902.34.1
91
diff --git a/meta-oe/recipes-devtools/libabigail/libabigail_2.5.bb b/meta-oe/recipes-devtools/libabigail/libabigail_2.5.bb
new file mode 100644
index 0000000000..5c262d2880
--- /dev/null
+++ b/meta-oe/recipes-devtools/libabigail/libabigail_2.5.bb
@@ -0,0 +1,17 @@
1SUMMARY = "The ABI Generic Analysis and Instrumentation Library"
2HOMEPAGE = "https://sourceware.org/libabigail/"
3
4LICENSE = "Apache-2.0-with-LLVM-exception"
5LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=0bcd48c3bdfef0c9d9fd17726e4b7dab"
6
7SRC_URI = "http://mirrors.kernel.org/sourceware/${BPN}/${BP}.tar.xz \
8 file://0001-Check-for-correct-fts-module.patch \
9 "
10SRC_URI[sha256sum] = "7cfc4e9b00ae38d87fb0c63beabb32b9cbf9ce410e52ceeb5ad5b3c5beb111f3"
11
12DEPENDS = "elfutils libxml2"
13DEPENDS:append:libc-musl = " fts"
14
15inherit autotools pkgconfig lib_package
16
17BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/libgee/libgee_0.20.6.bb b/meta-oe/recipes-devtools/libgee/libgee_0.20.6.bb
deleted file mode 100644
index 0ed6e8235d..0000000000
--- a/meta-oe/recipes-devtools/libgee/libgee_0.20.6.bb
+++ /dev/null
@@ -1,21 +0,0 @@
1DESCRIPTION = "libgee is a collection library providing GObject-based interfaces \
2and classes for commonly used data structures."
3HOMEPAGE = "http://live.gnome.org/Libgee"
4SECTION = "libs"
5DEPENDS = "glib-2.0"
6
7BBCLASSEXTEND = "native"
8LICENSE = "LGPL-2.1-only"
9LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
10
11GNOMEBASEBUILDCLASS = "autotools"
12inherit gnomebase vala gobject-introspection
13
14do_configure:prepend() {
15 MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4"
16 for i in ${MACROS}; do
17 rm -f m4/$i
18 done
19}
20
21SRC_URI[archive.sha256sum] = "1bf834f5e10d60cc6124d74ed3c1dd38da646787fbf7872220b8b4068e476d4d"
diff --git a/meta-oe/recipes-devtools/libgee/libgee_0.20.8.bb b/meta-oe/recipes-devtools/libgee/libgee_0.20.8.bb
new file mode 100644
index 0000000000..7e29c72c02
--- /dev/null
+++ b/meta-oe/recipes-devtools/libgee/libgee_0.20.8.bb
@@ -0,0 +1,58 @@
1DESCRIPTION = "libgee is a collection library providing GObject-based interfaces \
2and classes for commonly used data structures."
3HOMEPAGE = "http://live.gnome.org/Libgee"
4SECTION = "libs"
5DEPENDS = "glib-2.0"
6
7BBCLASSEXTEND = "native"
8LICENSE = "LGPL-2.1-only"
9LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
10
11GNOMEBASEBUILDCLASS = "autotools"
12inherit gnomebase vala gobject-introspection
13
14CFLAGS += "-Wno-incompatible-pointer-types"
15
16do_configure:prepend() {
17 MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4"
18 for i in ${MACROS}; do
19 rm -f m4/$i
20 done
21}
22
23SRC_URI[archive.sha256sum] = "189815ac143d89867193b0c52b7dc31f3aa108a15f04d6b5dca2b6adfad0b0ee"
24
25# http://errors.yoctoproject.org/Errors/Details/766884/
26# libgee-0.20.6/gee/concurrentlist.c:1169:177: error: passing argument 4 of 'gee_hazard_pointer_get_pointer' from incompatible pointer type [-Wincompatible-pointer-types]
27# libgee-0.20.6/gee/concurrentlist.c:1175:168: error: passing argument 4 of 'gee_hazard_pointer_set_pointer' from incompatible pointer type [-Wincompatible-pointer-types]
28# libgee-0.20.6/gee/concurrentlist.c:2385:194: error: passing argument 4 of 'gee_hazard_pointer_compare_and_exchange_pointer' from incompatible pointer type [-Wincompatible-pointer-types]
29# libgee-0.20.6/gee/concurrentlist.c:2438:177: error: passing argument 4 of 'gee_hazard_pointer_get_pointer' from incompatible pointer type [-Wincompatible-pointer-types]
30# libgee-0.20.6/gee/concurrentlist.c:2460:168: error: passing argument 4 of 'gee_hazard_pointer_set_pointer' from incompatible pointer type [-Wincompatible-pointer-types]
31# libgee-0.20.6/gee/concurrentlist.c:2469:177: error: passing argument 4 of 'gee_hazard_pointer_get_pointer' from incompatible pointer type [-Wincompatible-pointer-types]
32# libgee-0.20.6/gee/concurrentlist.c:2481:185: error: passing argument 4 of 'gee_hazard_pointer_compare_and_exchange_pointer' from incompatible pointer type [-Wincompatible-pointer-types]
33# libgee-0.20.6/gee/concurrentlist.c:2640:168: error: passing argument 4 of 'gee_hazard_pointer_set_pointer' from incompatible pointer type [-Wincompatible-pointer-types]
34# libgee-0.20.6/gee/concurrentlist.c:2641:168: error: passing argument 4 of 'gee_hazard_pointer_set_pointer' from incompatible pointer type [-Wincompatible-pointer-types]
35# libgee-0.20.6/gee/concurrentlist.c:2750:168: error: passing argument 4 of 'gee_hazard_pointer_set_pointer' from incompatible pointer type [-Wincompatible-pointer-types]
36# libgee-0.20.6/gee/concurrentlist.c:469:168: error: passing argument 4 of 'gee_hazard_pointer_set_pointer' from incompatible pointer type [-Wincompatible-pointer-types]
37# libgee-0.20.6/gee/concurrentlist.c:514:168: error: passing argument 4 of 'gee_hazard_pointer_set_pointer' from incompatible pointer type [-Wincompatible-pointer-types]
38# libgee-0.20.6/gee/concurrentlist.c:713:168: error: passing argument 4 of 'gee_hazard_pointer_set_pointer' from incompatible pointer type [-Wincompatible-pointer-types]
39# libgee-0.20.6/gee/concurrentset.c:3635:185: error: passing argument 4 of 'gee_hazard_pointer_get_pointer' from incompatible pointer type [-Wincompatible-pointer-types]
40# libgee-0.20.6/gee/concurrentset.c:4950:201: error: passing argument 4 of 'gee_hazard_pointer_get_pointer' from incompatible pointer type [-Wincompatible-pointer-types]
41# libgee-0.20.6/gee/concurrentset.c:5378:201: error: passing argument 4 of 'gee_hazard_pointer_get_pointer' from incompatible pointer type [-Wincompatible-pointer-types]
42# libgee-0.20.6/gee/concurrentset.c:5428:226: error: passing argument 4 of 'gee_hazard_pointer_get_pointer' from incompatible pointer type [-Wincompatible-pointer-types]
43# libgee-0.20.6/gee/concurrentset.c:5480:218: error: passing argument 4 of 'gee_hazard_pointer_get_pointer' from incompatible pointer type [-Wincompatible-pointer-types]
44# libgee-0.20.6/gee/concurrentset.c:5530:238: error: passing argument 4 of 'gee_hazard_pointer_compare_and_exchange_pointer' from incompatible pointer type [-Wincompatible-pointer-types]
45# libgee-0.20.6/gee/concurrentset.c:5532:234: error: passing argument 4 of 'gee_hazard_pointer_get_pointer' from incompatible pointer type [-Wincompatible-pointer-types]
46# libgee-0.20.6/gee/concurrentset.c:5623:246: error: passing argument 4 of 'gee_hazard_pointer_compare_and_exchange_pointer' from incompatible pointer type [-Wincompatible-pointer-types]
47# libgee-0.20.6/gee/concurrentset.c:5625:242: error: passing argument 4 of 'gee_hazard_pointer_get_pointer' from incompatible pointer type [-Wincompatible-pointer-types]
48# libgee-0.20.6/gee/concurrentset.c:7088:194: error: passing argument 4 of 'gee_hazard_pointer_compare_and_exchange_pointer' from incompatible pointer type [-Wincompatible-pointer-types]
49# libgee-0.20.6/gee/concurrentset.c:7157:177: error: passing argument 4 of 'gee_hazard_pointer_get_pointer' from incompatible pointer type [-Wincompatible-pointer-types]
50# libgee-0.20.6/gee/concurrentset.c:7184:168: error: passing argument 4 of 'gee_hazard_pointer_set_pointer' from incompatible pointer type [-Wincompatible-pointer-types]
51# libgee-0.20.6/gee/concurrentset.c:7198:177: error: passing argument 4 of 'gee_hazard_pointer_get_pointer' from incompatible pointer type [-Wincompatible-pointer-types]
52# libgee-0.20.6/gee/concurrentset.c:7215:185: error: passing argument 4 of 'gee_hazard_pointer_compare_and_exchange_pointer' from incompatible pointer type [-Wincompatible-pointer-types]
53# libgee-0.20.6/gee/hashmap.c:4089:30: error: assignment to 'gboolean (*)(GeeMapIterator *)' {aka 'int (*)(struct _GeeMapIterator *)'} from incompatible pointer type 'gboolean (*)(GeeHashMapNodeIterator *)' {aka 'int (*)(struct _GeeHashMapNodeIterator *)'} [-Wincompatible-pointer-types]
54# libgee-0.20.6/gee/hazardpointer.c:430:134: error: passing argument 4 of 'gee_hazard_pointer_release_policy_swap' from incompatible pointer type [-Wincompatible-pointer-types]
55# libgee-0.20.6/gee/hazardpointer.c:430:171: error: passing argument 5 of 'gee_hazard_pointer_release_policy_swap' from incompatible pointer type [-Wincompatible-pointer-types]
56# libgee-0.20.6/gee/hazardpointer.c:434:134: error: passing argument 4 of 'gee_hazard_pointer_release_policy_swap' from incompatible pointer type [-Wincompatible-pointer-types]
57# libgee-0.20.6/gee/hazardpointer.c:434:171: error: passing argument 5 of 'gee_hazard_pointer_release_policy_swap' from incompatible pointer type [-Wincompatible-pointer-types]
58CFLAGS += "-Wno-error=incompatible-pointer-types"
diff --git a/meta-oe/recipes-devtools/libsombok3/libsombok3_2.4.0.bb b/meta-oe/recipes-devtools/libsombok3/libsombok3_2.4.0.bb
index 9b18269bcb..3616eb519d 100644
--- a/meta-oe/recipes-devtools/libsombok3/libsombok3_2.4.0.bb
+++ b/meta-oe/recipes-devtools/libsombok3/libsombok3_2.4.0.bb
@@ -16,7 +16,6 @@ inherit autotools-brokensep pkgconfig
16# sombok-2.4.0 16# sombok-2.4.0
17SRCREV = "0098d85a037ef5c99a648a3669a077781a45e8cc" 17SRCREV = "0098d85a037ef5c99a648a3669a077781a45e8cc"
18 18
19S = "${WORKDIR}/git"
20 19
21# Disable libthai support 20# Disable libthai support
22EXTRA_OECONF = "--disable-libthai" 21EXTRA_OECONF = "--disable-libthai"
diff --git a/meta-oe/recipes-devtools/libtoml11/files/0001-Remove-whitespace-in-operator.patch b/meta-oe/recipes-devtools/libtoml11/files/0001-Remove-whitespace-in-operator.patch
new file mode 100644
index 0000000000..c8c9922d55
--- /dev/null
+++ b/meta-oe/recipes-devtools/libtoml11/files/0001-Remove-whitespace-in-operator.patch
@@ -0,0 +1,46 @@
1From dee78f822d8a5b985e565e5c1ef42a59557aa8fc Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 7 Mar 2025 11:35:46 -0800
4Subject: [PATCH] Remove whitespace in operator""
5
6Clang 20+ errors about this whitespace.
7
8Fixes
9include/toml11/impl/../fwd/literal_fwd.hpp:22:26: error: identifier '_toml' preceded by whitespace in a literal operator declaration is deprecated [-Werror,-Wdeprecated-literal-operator]
10| 22 | ::toml::value operator"" _toml(const char* str, std::size_t len);
11| | ~~~~~~~~~~~^~~~~
12| | operator""_toml
13
14Upstream-Status: Submitted [https://github.com/ToruNiina/toml11/pull/285]
15Signed-off-by: Khem Raj <raj.khem@gmail.com>
16---
17 include/toml11/fwd/literal_fwd.hpp | 2 +-
18 include/toml11/impl/literal_impl.hpp | 2 +-
19 2 files changed, 2 insertions(+), 2 deletions(-)
20
21diff --git a/include/toml11/fwd/literal_fwd.hpp b/include/toml11/fwd/literal_fwd.hpp
22index e46612c..82f62b7 100644
23--- a/include/toml11/fwd/literal_fwd.hpp
24+++ b/include/toml11/fwd/literal_fwd.hpp
25@@ -19,7 +19,7 @@ inline namespace literals
26 inline namespace toml_literals
27 {
28
29-::toml::value operator"" _toml(const char* str, std::size_t len);
30+::toml::value operator""_toml(const char* str, std::size_t len);
31
32 #if defined(TOML11_HAS_CHAR8_T)
33 // value of u8"" literal has been changed from char to char8_t and char8_t is
34diff --git a/include/toml11/impl/literal_impl.hpp b/include/toml11/impl/literal_impl.hpp
35index e8298c2..067d4ed 100644
36--- a/include/toml11/impl/literal_impl.hpp
37+++ b/include/toml11/impl/literal_impl.hpp
38@@ -115,7 +115,7 @@ inline namespace toml_literals
39 {
40
41 TOML11_INLINE ::toml::value
42-operator"" _toml(const char* str, std::size_t len)
43+operator""_toml(const char* str, std::size_t len)
44 {
45 if(len == 0)
46 {
diff --git a/meta-oe/recipes-devtools/libtoml11/files/run-ptest b/meta-oe/recipes-devtools/libtoml11/files/run-ptest
new file mode 100755
index 0000000000..9bc480aa7f
--- /dev/null
+++ b/meta-oe/recipes-devtools/libtoml11/files/run-ptest
@@ -0,0 +1,12 @@
1#!/bin/sh
2
3cd tests
4for atest in test_* ; do
5 rm -rf tests.log
6 ./${atest} > tests.log 2>&1
7 if [ $? = 0 ] ; then
8 echo "PASS: ${atest}"
9 else
10 echo "FAIL: ${atest}"
11 fi
12done
diff --git a/meta-oe/recipes-devtools/libtoml11/libtoml11_4.4.0.bb b/meta-oe/recipes-devtools/libtoml11/libtoml11_4.4.0.bb
new file mode 100644
index 0000000000..38786b79ed
--- /dev/null
+++ b/meta-oe/recipes-devtools/libtoml11/libtoml11_4.4.0.bb
@@ -0,0 +1,38 @@
1SUMMARY = "TOML for Modern C++"
2DESCRIPTION = "toml11 is a feature-rich TOML language library for \
3 C++11/14/17/20."
4
5HOMEPAGE = "https://github.com/ToruNiina/toml11"
6
7SECTION = "libs"
8
9LICENSE = "MIT"
10LIC_FILES_CHKSUM = "file://LICENSE;md5=44d1fcf70c7aa6991533c38daf7befa3"
11
12PE = "1"
13
14SRCREV = "be08ba2be2a964edcdb3d3e3ea8d100abc26f286"
15SRCREV_json = "8c391e04fe4195d8be862c97f38cfe10e2a3472e"
16SRCREV_doctest = "ae7a13539fb71f270b87eb2e874fbac80bc8dda2"
17
18SRC_URI = "git://github.com/ToruNiina/toml11;branch=main;protocol=https \
19 git://github.com/nlohmann/json;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/tests/extlib/json;name=json;branch=develop;protocol=https \
20 git://github.com/doctest/doctest;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/tests/extlib/doctest;name=doctest;branch=master;protocol=https \
21 file://0001-Remove-whitespace-in-operator.patch \
22 file://run-ptest \
23"
24SRCREV_FORMAT = "json_doctest"
25
26
27inherit cmake ptest
28
29EXTRA_OECMAKE += "-DTOML11_PRECOMPILE=ON \
30 -DTOML11_BUILD_TESTS=${@bb.utils.contains("DISTRO_FEATURES", "ptest", "ON", "OFF", d)} \
31"
32
33ALLOW_EMPTY:${PN} = "1"
34
35do_install_ptest () {
36 install -d ${D}${PTEST_PATH}/tests
37 cp -r ${B}/tests/test_* ${D}${PTEST_PATH}/tests
38}
diff --git a/meta-oe/recipes-devtools/libubox/libubox_git.bb b/meta-oe/recipes-devtools/libubox/libubox_git.bb
index 39e18cdafd..394cf9c000 100644
--- a/meta-oe/recipes-devtools/libubox/libubox_git.bb
+++ b/meta-oe/recipes-devtools/libubox/libubox_git.bb
@@ -22,7 +22,9 @@ SRC_URI = "\
22SRCREV = "07413cce72e19520af55dfcbc765484f5ab41dd9" 22SRCREV = "07413cce72e19520af55dfcbc765484f5ab41dd9"
23PV = "1.0.1+git" 23PV = "1.0.1+git"
24 24
25S = "${WORKDIR}/git" 25# Upstream repo does not tag
26UPSTREAM_CHECK_COMMITS = "1"
27
26 28
27inherit cmake pkgconfig 29inherit cmake pkgconfig
28 30
diff --git a/meta-oe/recipes-devtools/lshw/lshw_02.20.bb b/meta-oe/recipes-devtools/lshw/lshw_02.20.bb
index 0fb68d8684..95e2084255 100644
--- a/meta-oe/recipes-devtools/lshw/lshw_02.20.bb
+++ b/meta-oe/recipes-devtools/lshw/lshw_02.20.bb
@@ -18,7 +18,6 @@ SRC_URI = " \
18 file://0001-disable-docbook2man.patch \ 18 file://0001-disable-docbook2man.patch \
19" 19"
20 20
21S = "${WORKDIR}/git"
22 21
23inherit pkgconfig 22inherit pkgconfig
24 23
diff --git a/meta-oe/recipes-devtools/ltrace/ltrace/0001-ARM-code-has-unreachable-code-after-switch-statement.patch b/meta-oe/recipes-devtools/ltrace/ltrace/0001-ARM-code-has-unreachable-code-after-switch-statement.patch
deleted file mode 100644
index c896e3ebb0..0000000000
--- a/meta-oe/recipes-devtools/ltrace/ltrace/0001-ARM-code-has-unreachable-code-after-switch-statement.patch
+++ /dev/null
@@ -1,42 +0,0 @@
1From 95ff340a74af16cca89fd5c5ca99890821053209 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 22 Apr 2017 00:47:16 -0700
4Subject: [PATCH] ARM code has unreachable code after switch statement move
5 initialization
6
7Fixed
8sysdeps/linux-gnu/arm/trace.c:173:33: error: statement will never be executed [-Werror=switch-unreachable]
9 uint32_t operand1, operand2, result = 0;
10 ^~~~~~
11
12Signed-off-by: Khem Raj <raj.khem@gmail.com>
13---
14Upstream-Status: Pending
15
16 sysdeps/linux-gnu/arm/trace.c | 3 ++-
17 1 file changed, 2 insertions(+), 1 deletion(-)
18
19diff --git a/sysdeps/linux-gnu/arm/trace.c b/sysdeps/linux-gnu/arm/trace.c
20index 5e51e91..f974d1f 100644
21--- a/sysdeps/linux-gnu/arm/trace.c
22+++ b/sysdeps/linux-gnu/arm/trace.c
23@@ -155,6 +155,8 @@ arm_get_next_pcs(struct process *proc,
24 const unsigned cond = BITS(this_instr, 28, 31);
25 const unsigned opcode = BITS(this_instr, 24, 27);
26
27+ uint32_t operand1, operand2, result = 0;
28+
29 if (cond == COND_NV)
30 switch (opcode) {
31 arch_addr_t addr;
32@@ -170,7 +172,6 @@ arm_get_next_pcs(struct process *proc,
33 }
34 else
35 switch (opcode) {
36- uint32_t operand1, operand2, result = 0;
37 case 0x0:
38 case 0x1: /* data processing */
39 case 0x2:
40--
412.12.2
42
diff --git a/meta-oe/recipes-devtools/ltrace/ltrace/0001-Fix-tautological-compare-warning.patch b/meta-oe/recipes-devtools/ltrace/ltrace/0001-Fix-tautological-compare-warning.patch
deleted file mode 100644
index a599d0e191..0000000000
--- a/meta-oe/recipes-devtools/ltrace/ltrace/0001-Fix-tautological-compare-warning.patch
+++ /dev/null
@@ -1,261 +0,0 @@
1From 0af8ced6376f2256b9daac301c851e1c99c3b035 Mon Sep 17 00:00:00 2001
2From: Adam Trhon <adam.trhon@tbs-biometrics.com>
3Date: Fri, 12 May 2017 13:39:11 +0200
4Subject: [PATCH] Fix tautological compare warning
5
6By default, gcc ignores warning from code generated by macros
7(https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80369). When
8ltrace is compiled under icecream the warning *is generated*
9(https://github.com/icecc/icecream/issues/202)
10and the compilation fails (because of -Werror).
11
12Upstream-Status: Submitted [ltrace-devel@lists.alioth.debian.org]
13
14Signed-off-by: Adam Trhon <adam.trhon@tbs-biometrics.com>
15---
16 filter.c | 4 ++--
17 sysdeps/linux-gnu/arm/fetch.c | 2 +-
18 sysdeps/linux-gnu/arm/trace.c | 2 +-
19 sysdeps/linux-gnu/ia64/fetch.c | 2 +-
20 sysdeps/linux-gnu/metag/trace.c | 2 +-
21 sysdeps/linux-gnu/mips/plt.c | 2 +-
22 sysdeps/linux-gnu/ppc/fetch.c | 2 +-
23 sysdeps/linux-gnu/ppc/plt.c | 2 +-
24 sysdeps/linux-gnu/ppc/trace.c | 4 ++--
25 sysdeps/linux-gnu/s390/fetch.c | 2 +-
26 sysdeps/linux-gnu/s390/trace.c | 4 ++--
27 sysdeps/linux-gnu/x86/fetch.c | 2 +-
28 sysdeps/linux-gnu/x86/trace.c | 4 ++--
29 value.c | 4 ++--
30 14 files changed, 19 insertions(+), 19 deletions(-)
31
32diff --git a/filter.c b/filter.c
33index ba50c40..a65856d 100644
34--- a/filter.c
35+++ b/filter.c
36@@ -79,7 +79,7 @@ filter_lib_matcher_name_init(struct filter_lib_matcher *matcher,
37 {
38 switch (type) {
39 case FLM_MAIN:
40- assert(type != type);
41+ assert(!"Unexpected value of type");
42 abort();
43
44 case FLM_SONAME:
45@@ -137,7 +137,7 @@ matcher_matches_library(struct filter_lib_matcher *matcher, struct library *lib)
46 case FLM_MAIN:
47 return lib->type == LT_LIBTYPE_MAIN;
48 }
49- assert(matcher->type != matcher->type);
50+ assert(!"Unexpected value of matcher->type");
51 abort();
52 }
53
54diff --git a/sysdeps/linux-gnu/arm/fetch.c b/sysdeps/linux-gnu/arm/fetch.c
55index b500448..8f75fcf 100644
56--- a/sysdeps/linux-gnu/arm/fetch.c
57+++ b/sysdeps/linux-gnu/arm/fetch.c
58@@ -317,7 +317,7 @@ arch_fetch_retval(struct fetch_context *ctx, enum tof type,
59 memmove(data, ctx->regs.uregs, sz);
60 return 0;
61 }
62- assert(info->type != info->type);
63+ assert(!"Unexpected value of info->type");
64 abort();
65 }
66
67diff --git a/sysdeps/linux-gnu/arm/trace.c b/sysdeps/linux-gnu/arm/trace.c
68index 5e51e91..e76bf63 100644
69--- a/sysdeps/linux-gnu/arm/trace.c
70+++ b/sysdeps/linux-gnu/arm/trace.c
71@@ -701,7 +701,7 @@ arch_type_sizeof(struct process *proc, struct arg_type_info *info)
72 return (size_t)-2;
73
74 default:
75- assert(info->type != info->type);
76+ assert(!"Unexpected value of info->type");
77 abort();
78 }
79 }
80diff --git a/sysdeps/linux-gnu/ia64/fetch.c b/sysdeps/linux-gnu/ia64/fetch.c
81index 171c7a2..ee2fbc7 100644
82--- a/sysdeps/linux-gnu/ia64/fetch.c
83+++ b/sysdeps/linux-gnu/ia64/fetch.c
84@@ -409,7 +409,7 @@ arch_fetch_arg_next(struct fetch_context *ctx, enum tof type,
85 case ARGTYPE_ARRAY:
86 /* Arrays decay into pointers. XXX Fortran? */
87 default:
88- assert(info->type != info->type);
89+ assert(!"Unexpected value of info->type");
90 abort();
91 }
92 }
93diff --git a/sysdeps/linux-gnu/metag/trace.c b/sysdeps/linux-gnu/metag/trace.c
94index ad5fffe..7a843d6 100644
95--- a/sysdeps/linux-gnu/metag/trace.c
96+++ b/sysdeps/linux-gnu/metag/trace.c
97@@ -142,7 +142,7 @@ get_regval_from_unit(enum metag_unitnum unit, unsigned int reg,
98 return regs->ax[reg][0];
99 /* We really shouldn't be here. */
100 default:
101- assert(unit != unit);
102+ assert(!"Unexpected value of unit");
103 abort();
104 }
105 return 0;
106diff --git a/sysdeps/linux-gnu/mips/plt.c b/sysdeps/linux-gnu/mips/plt.c
107index c7c10ac..ca2307d 100644
108--- a/sysdeps/linux-gnu/mips/plt.c
109+++ b/sysdeps/linux-gnu/mips/plt.c
110@@ -651,7 +651,7 @@ mips_stub_bp_continue(struct breakpoint *bp, struct process *proc)
111 break;
112 }
113
114- assert(bp->libsym->arch.type != bp->libsym->arch.type);
115+ assert(!"Unexpected value of bp->libsym->arch.type");
116 abort();
117 }
118
119diff --git a/sysdeps/linux-gnu/ppc/fetch.c b/sysdeps/linux-gnu/ppc/fetch.c
120index c6cbd71..5db5675 100644
121--- a/sysdeps/linux-gnu/ppc/fetch.c
122+++ b/sysdeps/linux-gnu/ppc/fetch.c
123@@ -502,7 +502,7 @@ allocate_argument(struct fetch_context *ctx, struct process *proc,
124 case ARGTYPE_ARRAY:
125 /* Arrays decay into pointers. XXX Fortran? */
126 default:
127- assert(info->type != info->type);
128+ assert(!"Unexpected value of info->type");
129 abort();
130 }
131
132diff --git a/sysdeps/linux-gnu/ppc/plt.c b/sysdeps/linux-gnu/ppc/plt.c
133index 5f81889..781da03 100644
134--- a/sysdeps/linux-gnu/ppc/plt.c
135+++ b/sysdeps/linux-gnu/ppc/plt.c
136@@ -1085,7 +1085,7 @@ ppc_plt_bp_continue(struct breakpoint *bp, struct process *proc)
137 break;
138 }
139
140- assert(bp->libsym->arch.type != bp->libsym->arch.type);
141+ assert(!"Unexpected value of bp->libsym->arch.type");
142 abort();
143 }
144
145diff --git a/sysdeps/linux-gnu/ppc/trace.c b/sysdeps/linux-gnu/ppc/trace.c
146index 5aab538..caa6035 100644
147--- a/sysdeps/linux-gnu/ppc/trace.c
148+++ b/sysdeps/linux-gnu/ppc/trace.c
149@@ -217,7 +217,7 @@ arch_type_sizeof(struct process *proc, struct arg_type_info *info)
150 return (size_t)-2;
151
152 default:
153- assert(info->type != info->type);
154+ assert(!"Unexpected value of info->type");
155 abort();
156 break;
157 }
158@@ -231,7 +231,7 @@ arch_type_alignof(struct process *proc, struct arg_type_info *info)
159
160 switch (info->type) {
161 default:
162- assert(info->type != info->type);
163+ assert(!"Unexpected value of info->type");
164 abort();
165 break;
166
167diff --git a/sysdeps/linux-gnu/s390/fetch.c b/sysdeps/linux-gnu/s390/fetch.c
168index 4ad5951..4721c30 100644
169--- a/sysdeps/linux-gnu/s390/fetch.c
170+++ b/sysdeps/linux-gnu/s390/fetch.c
171@@ -266,7 +266,7 @@ arch_fetch_arg_next(struct fetch_context *ctx, enum tof type,
172 return allocate_gpr(ctx, proc, info, valuep, sz);
173
174 default:
175- assert(info->type != info->type);
176+ assert(!"Unexpected value of info->type");
177 abort();
178 }
179 return -1;
180diff --git a/sysdeps/linux-gnu/s390/trace.c b/sysdeps/linux-gnu/s390/trace.c
181index 78b04c3..24f7801 100644
182--- a/sysdeps/linux-gnu/s390/trace.c
183+++ b/sysdeps/linux-gnu/s390/trace.c
184@@ -213,7 +213,7 @@ arch_type_sizeof(struct process *proc, struct arg_type_info *info)
185 return (size_t)-2;
186
187 default:
188- assert(info->type != info->type);
189+ assert(!"Unexpected value of info->type");
190 abort();
191 }
192 }
193@@ -226,7 +226,7 @@ arch_type_alignof(struct process *proc, struct arg_type_info *info)
194
195 switch (info->type) {
196 default:
197- assert(info->type != info->type);
198+ assert(!"Unexpected value of info->type");
199 break;
200
201 case ARGTYPE_CHAR:
202diff --git a/sysdeps/linux-gnu/x86/fetch.c b/sysdeps/linux-gnu/x86/fetch.c
203index 6868101..ae2ed79 100644
204--- a/sysdeps/linux-gnu/x86/fetch.c
205+++ b/sysdeps/linux-gnu/x86/fetch.c
206@@ -523,7 +523,7 @@ classify(struct process *proc, struct fetch_context *context,
207
208 default:
209 /* Unsupported type. */
210- assert(info->type != info->type);
211+ assert(!"Unexpected value of info->type");
212 abort();
213 }
214 abort();
215diff --git a/sysdeps/linux-gnu/x86/trace.c b/sysdeps/linux-gnu/x86/trace.c
216index 6a1a6a5..d8d2115 100644
217--- a/sysdeps/linux-gnu/x86/trace.c
218+++ b/sysdeps/linux-gnu/x86/trace.c
219@@ -145,7 +145,7 @@ arch_type_sizeof(struct process *proc, struct arg_type_info *info)
220 return (size_t)-2;
221
222 default:
223- assert(info->type != info->type);
224+ assert(!"Unexpected value of info->type");
225 abort();
226 }
227 }
228@@ -158,7 +158,7 @@ arch_type_alignof(struct process *proc, struct arg_type_info *info)
229
230 switch (info->type) {
231 default:
232- assert(info->type != info->type);
233+ assert(!"Unexpected value of info->type");
234 abort();
235 break;
236
237diff --git a/value.c b/value.c
238index 2125ba9..30edb4e 100644
239--- a/value.c
240+++ b/value.c
241@@ -363,7 +363,7 @@ value_set_word(struct value *value, long word)
242 u.u64 = word;
243 break;
244 default:
245- assert(sz != sz);
246+ assert(!"Unexpected value of sz");
247 abort();
248 }
249
250@@ -414,7 +414,7 @@ value_extract_word(struct value *value, long *retp,
251 *retp = (long)u.u64;
252 return 0;
253 default:
254- assert(sz != sz);
255+ assert(!"Unexpected value of sz");
256 abort();
257 }
258 }
259--
2602.12.0
261
diff --git a/meta-oe/recipes-devtools/ltrace/ltrace/0001-ensure-the-struct-pointers-are-null-initilized.patch b/meta-oe/recipes-devtools/ltrace/ltrace/0001-ensure-the-struct-pointers-are-null-initilized.patch
deleted file mode 100644
index 9def41ca60..0000000000
--- a/meta-oe/recipes-devtools/ltrace/ltrace/0001-ensure-the-struct-pointers-are-null-initilized.patch
+++ /dev/null
@@ -1,46 +0,0 @@
1From 67a8fa478a4484bc4dbfb3ac74e11be1dd5af594 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 23 Dec 2019 19:35:48 -0800
4Subject: [PATCH] ensure the struct pointers are null initilized
5
6Do not delete if pointer is already null
7
8Upstream-Status: Pending
9
10Signed-off-by: Khem Raj <raj.khem@gmail.com>
11---
12 expr.c | 10 +++++-----
13 1 file changed, 5 insertions(+), 5 deletions(-)
14
15diff --git a/expr.c b/expr.c
16index 4059a32..5ffd0ad 100644
17--- a/expr.c
18+++ b/expr.c
19@@ -189,10 +189,8 @@ int
20 expr_clone(struct expr_node *retp, const struct expr_node *node)
21 {
22 *retp = *node;
23-
24+ struct expr_node *nlhs = 0, *nrhs = 0;
25 switch (node->kind) {
26- struct expr_node *nlhs;
27- struct expr_node *nrhs;
28
29 case EXPR_OP_ARGNO:
30 case EXPR_OP_SELF:
31@@ -236,8 +234,10 @@ expr_clone(struct expr_node *retp, const struct expr_node *node)
32 if (expr_alloc_and_clone(&nlhs, node->lhs, node->own_lhs) < 0) {
33 if (node->kind == EXPR_OP_CALL2
34 && node->u.call.own_rhs) {
35- expr_destroy(nrhs);
36- free(nrhs);
37+ if (nrhs) {
38+ expr_destroy(nrhs);
39+ free(nrhs);
40+ }
41 return -1;
42 }
43 }
44--
452.24.1
46
diff --git a/meta-oe/recipes-devtools/ltrace/ltrace/0001-ppc-plt-do-not-free-symbol-libsym.patch b/meta-oe/recipes-devtools/ltrace/ltrace/0001-ppc-plt-do-not-free-symbol-libsym.patch
deleted file mode 100644
index 4793e561c0..0000000000
--- a/meta-oe/recipes-devtools/ltrace/ltrace/0001-ppc-plt-do-not-free-symbol-libsym.patch
+++ /dev/null
@@ -1,29 +0,0 @@
1From f47672bed5905ae382e80b09dafca9a8da45aa67 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 19 Apr 2022 18:44:36 -0700
4Subject: [PATCH] ppc/plt: do not free symbol libsym
5
6delete_symbol_chain() will call free as well if sybol is non-null
7it also fixes use-after-free warnings that compiler emits
8
9Upstream-Status: Submitted [https://gitlab.com/cespedes/ltrace/-/merge_requests/2]
10Signed-off-by: Khem Raj <raj.khem@gmail.com>
11---
12 sysdeps/linux-gnu/ppc/plt.c | 1 -
13 1 file changed, 1 deletion(-)
14
15diff --git a/sysdeps/linux-gnu/ppc/plt.c b/sysdeps/linux-gnu/ppc/plt.c
16index 5f81889..7c1c025 100644
17--- a/sysdeps/linux-gnu/ppc/plt.c
18+++ b/sysdeps/linux-gnu/ppc/plt.c
19@@ -687,7 +687,6 @@ arch_elf_add_func_entry(struct process *proc, struct ltelf *lte,
20 if (libsym == NULL
21 || library_symbol_init(libsym, addr, full_name, 1,
22 LS_TOPLT_NONE) < 0) {
23- free(libsym);
24 delete_symbol_chain(libsym);
25 libsym = NULL;
26 fprintf(stderr, "Couldn't add symbol %s"
27--
282.36.0
29
diff --git a/meta-oe/recipes-devtools/ltrace/ltrace/0001-proc-Make-PROC_PID_FILE-not-use-variable-length-arra.patch b/meta-oe/recipes-devtools/ltrace/ltrace/0001-proc-Make-PROC_PID_FILE-not-use-variable-length-arra.patch
new file mode 100644
index 0000000000..3e166f0deb
--- /dev/null
+++ b/meta-oe/recipes-devtools/ltrace/ltrace/0001-proc-Make-PROC_PID_FILE-not-use-variable-length-arra.patch
@@ -0,0 +1,34 @@
1From f2f6082cb112cf3b8a6a5bfc989e4a4f6a1bff27 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 3 Sep 2024 20:41:20 +0000
4Subject: [PATCH] proc: Make PROC_PID_FILE not use variable length array
5
6This helps in compiling with clang which is not happy about VLA
7
8| ../../../git/sysdeps/linux-gnu/proc.c:70:3: error: variable length array folded to constant array as an extension [-Werror,-Wgnu-folding-constant]
9| 70 | PROC_PID_FILE(proc_exe, "/proc/%d/exe", pid);
10| | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
11| ../../../git/sysdeps/linux-gnu/proc.c:59:11: note: expanded from macro 'PROC_PID_FILE'
12| 59 | char VAR[strlen(FORMAT) + 6]; \
13| | ^~~~~~~~~~~~~~~~~~
14
15Upstream-Status: Pending
16Signed-off-by: Khem Raj <raj.khem@gmail.com>
17---
18 sysdeps/linux-gnu/proc.c | 3 ++-
19 1 file changed, 2 insertions(+), 1 deletion(-)
20
21diff --git a/sysdeps/linux-gnu/proc.c b/sysdeps/linux-gnu/proc.c
22index b954997..f37e4e8 100644
23--- a/sysdeps/linux-gnu/proc.c
24+++ b/sysdeps/linux-gnu/proc.c
25@@ -56,7 +56,8 @@
26 #define MAX_DELAY 100000 /* 100000 microseconds = 0.1 seconds */
27
28 #define PROC_PID_FILE(VAR, FORMAT, PID) \
29- char VAR[strlen(FORMAT) + 6]; \
30+ enum { buflen_ ## VAR = strlen(FORMAT)}; \
31+ char VAR[buflen_ ## VAR + 6]; \
32 sprintf(VAR, FORMAT, PID)
33
34 /*
diff --git a/meta-oe/recipes-devtools/ltrace/ltrace/0001-replace-readdir_r-with-readdir.patch b/meta-oe/recipes-devtools/ltrace/ltrace/0001-replace-readdir_r-with-readdir.patch
deleted file mode 100644
index 65c7d535eb..0000000000
--- a/meta-oe/recipes-devtools/ltrace/ltrace/0001-replace-readdir_r-with-readdir.patch
+++ /dev/null
@@ -1,36 +0,0 @@
1From 64f98f84fd88797e219f9dde1ca387fee4b509f0 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 24 Apr 2016 16:58:17 -0700
4Subject: [PATCH] replace readdir_r with readdir
5
6glibc 2.24 has deprecated readdir_r
7
8https://sourceware.org/ml/libc-alpha/2016-02/msg00093.html
9
10Signed-off-by: Khem Raj <raj.khem@gmail.com>
11---
12Upstream-Status: Submitted
13
14 sysdeps/linux-gnu/proc.c | 5 +++--
15 1 file changed, 3 insertions(+), 2 deletions(-)
16
17diff --git a/sysdeps/linux-gnu/proc.c b/sysdeps/linux-gnu/proc.c
18index 953fd86..edb716d 100644
19--- a/sysdeps/linux-gnu/proc.c
20+++ b/sysdeps/linux-gnu/proc.c
21@@ -242,9 +242,10 @@ process_tasks(pid_t pid, pid_t **ret_tasks, size_t *ret_n)
22 size_t alloc = 0;
23
24 while (1) {
25- struct dirent entry;
26 struct dirent *result;
27- if (readdir_r(d, &entry, &result) != 0) {
28+ errno = 0;
29+ result = readdir(d);
30+ if (errno != 0) {
31 fail:
32 free(tasks);
33 closedir(d);
34--
352.8.0
36
diff --git a/meta-oe/recipes-devtools/ltrace/ltrace_git.bb b/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
index 63971970cf..f84d989eef 100644
--- a/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
+++ b/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
@@ -11,36 +11,31 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a"
11 11
12PE = "1" 12PE = "1"
13PV = "7.91+git" 13PV = "7.91+git"
14SRCREV = "c22d359433b333937ee3d803450dc41998115685" 14SRCREV = "8eabf684ba6b11ae7a1a843aca3c0657c6329d73"
15 15
16DEPENDS = "elfutils" 16DEPENDS = "elfutils"
17SRC_URI = "git://github.com/sparkleholic/ltrace.git;protocol=https;branch=master \ 17SRC_URI = "git://gitlab.com/cespedes/ltrace.git;protocol=https;branch=main \
18 file://configure-allow-to-disable-selinux-support.patch \ 18 file://configure-allow-to-disable-selinux-support.patch \
19 file://0001-replace-readdir_r-with-readdir.patch \
20 file://0001-Use-correct-enum-type.patch \ 19 file://0001-Use-correct-enum-type.patch \
21 file://0002-Fix-const-qualifier-error.patch \ 20 file://0002-Fix-const-qualifier-error.patch \
22 file://0001-ARM-code-has-unreachable-code-after-switch-statement.patch \
23 file://0001-Fix-tautological-compare-warning.patch \
24 file://0001-Add-support-for-mips64-n32-n64.patch \ 21 file://0001-Add-support-for-mips64-n32-n64.patch \
25 file://0001-configure-Recognise-linux-musl-as-a-host-OS.patch \ 22 file://0001-configure-Recognise-linux-musl-as-a-host-OS.patch \
26 file://0001-mips-plt.c-Delete-include-error.h.patch \ 23 file://0001-mips-plt.c-Delete-include-error.h.patch \
27 file://0001-move-fprintf-into-same-block-where-modname-and-symna.patch \ 24 file://0001-move-fprintf-into-same-block-where-modname-and-symna.patch \
28 file://0001-hook-Do-not-append-int-to-std-string.patch \ 25 file://0001-hook-Do-not-append-int-to-std-string.patch \
29 file://0001-Bug-fix-for-data-type-length-judgment.patch \ 26 file://0001-Bug-fix-for-data-type-length-judgment.patch \
30 file://0001-ensure-the-struct-pointers-are-null-initilized.patch \
31 file://0001-ppc-Remove-unused-host_powerpc64-function.patch \ 27 file://0001-ppc-Remove-unused-host_powerpc64-function.patch \
32 file://0001-mips-Use-hardcodes-values-for-ABI-syscall-bases.patch \ 28 file://0001-mips-Use-hardcodes-values-for-ABI-syscall-bases.patch \
33 file://0001-ppc-plt-do-not-free-symbol-libsym.patch \
34 file://0001-Fix-type-of-single-bit-bitfields.patch \ 29 file://0001-Fix-type-of-single-bit-bitfields.patch \
30 file://0001-proc-Make-PROC_PID_FILE-not-use-variable-length-arra.patch \
35 " 31 "
36SRC_URI:append:libc-musl = " file://add_ppc64le.patch" 32SRC_URI:append:libc-musl = " file://add_ppc64le.patch"
37 33
38S = "${WORKDIR}/git"
39 34
40inherit autotools 35inherit autotools
41 36
42PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}" 37PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}"
43PACKAGECONFIG[unwind] = "--with-libunwind,--without-libunwind,libunwind" 38PACKAGECONFIG[unwind] = "--with-libunwind --without-elfutils,--without-libunwind,libunwind"
44PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,libselinux" 39PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,libselinux"
45 40
46COMPATIBLE_HOST:riscv64 = "null" 41COMPATIBLE_HOST:riscv64 = "null"
diff --git a/meta-oe/recipes-devtools/luajit/luajit/clang.patch b/meta-oe/recipes-devtools/luajit/luajit/clang.patch
deleted file mode 100644
index 807cc4417f..0000000000
--- a/meta-oe/recipes-devtools/luajit/luajit/clang.patch
+++ /dev/null
@@ -1,19 +0,0 @@
1clang pretends to be gcc 4.2.0 which is a big lie when it comes
2to features, its same as latest gcc
3
4Signed-off-by: Khem Raj <raj.khem@gmail.com>
5Upstream-Status: Pending
6
7Index: LuaJIT-2.0.5/src/lj_arch.h
8===================================================================
9--- LuaJIT-2.0.5.orig/src/lj_arch.h
10+++ LuaJIT-2.0.5/src/lj_arch.h
11@@ -436,7 +436,7 @@
12 #endif
13 #endif
14 #elif !LJ_TARGET_PS3
15-#if (__GNUC__ < 4) || ((__GNUC__ == 4) && __GNUC_MINOR__ < 3)
16+#if (__GNUC__ < 4) || ((__GNUC__ == 4) && __GNUC_MINOR__ < 3) && !defined(__clang__)
17 #error "Need at least GCC 4.3 or newer"
18 #endif
19 #endif
diff --git a/meta-oe/recipes-devtools/luajit/luajit_git.bb b/meta-oe/recipes-devtools/luajit/luajit_git.bb
index 240271d410..f4a1345ab2 100644
--- a/meta-oe/recipes-devtools/luajit/luajit_git.bb
+++ b/meta-oe/recipes-devtools/luajit/luajit_git.bb
@@ -1,6 +1,6 @@
1SUMMARY = "Just-In-Time Compiler for Lua" 1SUMMARY = "Just-In-Time Compiler for Lua"
2LICENSE = "MIT" 2LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=076b97f5c7e61532f7f6f3865f04da57" 3LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=d421a5e2a24207f5e260537399a9a38b"
4HOMEPAGE = "http://luajit.org" 4HOMEPAGE = "http://luajit.org"
5 5
6SRC_URI = "git://luajit.org/git/luajit-2.0.git;protocol=http;branch=v2.1 \ 6SRC_URI = "git://luajit.org/git/luajit-2.0.git;protocol=http;branch=v2.1 \
@@ -9,9 +9,8 @@ SRC_URI = "git://luajit.org/git/luajit-2.0.git;protocol=http;branch=v2.1 \
9 " 9 "
10 10
11PV = "2.1" 11PV = "2.1"
12SRCREV = "c525bcb9024510cad9e170e12b6209aedb330f83" 12SRCREV = "538a82133ad6fddfd0ca64de167c4aca3bc1a2da"
13 13
14S = "${WORKDIR}/git"
15 14
16inherit pkgconfig binconfig siteinfo 15inherit pkgconfig binconfig siteinfo
17 16
@@ -21,7 +20,7 @@ BBCLASSEXTEND = "native"
21# Host luajit needs to be compiled with the same pointer size 20# Host luajit needs to be compiled with the same pointer size
22# If you want to cross-compile to any 32 bit target on an x64 OS, 21# If you want to cross-compile to any 32 bit target on an x64 OS,
23# you need to install the multilib development package (e.g. 22# you need to install the multilib development package (e.g.
24# libc6-dev-i386 on Debian/Ubuntu) and build a 32 bit host part 23# libc6-dev:i386 on Debian/Ubuntu) and build a 32 bit host part
25# (HOST_CC="gcc -m32"). 24# (HOST_CC="gcc -m32").
26BUILD_CC_ARCH:append = " ${@['-m32',''][d.getVar('SITEINFO_BITS') != '32']}" 25BUILD_CC_ARCH:append = " ${@['-m32',''][d.getVar('SITEINFO_BITS') != '32']}"
27 26
diff --git a/meta-oe/recipes-devtools/luaposix/luaposix_36.2.1.bb b/meta-oe/recipes-devtools/luaposix/luaposix_36.2.1.bb
index 1d27eb2588..59bc4dfcfe 100644
--- a/meta-oe/recipes-devtools/luaposix/luaposix_36.2.1.bb
+++ b/meta-oe/recipes-devtools/luaposix/luaposix_36.2.1.bb
@@ -8,7 +8,6 @@ DEPENDS += "lua-native lua virtual/crypt"
8SRC_URI = "git://github.com/luaposix/luaposix.git;branch=release-v36.2;protocol=https \ 8SRC_URI = "git://github.com/luaposix/luaposix.git;branch=release-v36.2;protocol=https \
9" 9"
10SRCREV = "5a8d8c768fc3c51f42cb591e9523a60399efc6a1" 10SRCREV = "5a8d8c768fc3c51f42cb591e9523a60399efc6a1"
11S = "${WORKDIR}/git"
12LUA_VERSION = "5.4" 11LUA_VERSION = "5.4"
13 12
14B = "${S}" 13B = "${S}"
@@ -16,7 +15,7 @@ B = "${S}"
16inherit pkgconfig 15inherit pkgconfig
17 16
18do_compile() { 17do_compile() {
19 ${S}/build-aux/luke 18 ${S}/build-aux/luke LUA_INCDIR=${STAGING_INCDIR}
20} 19}
21 20
22do_install() { 21do_install() {
diff --git a/meta-oe/recipes-devtools/makeself/makeself_2.5.0.bb b/meta-oe/recipes-devtools/makeself/makeself_2.5.0.bb
index f94025dd05..57c8417f44 100644
--- a/meta-oe/recipes-devtools/makeself/makeself_2.5.0.bb
+++ b/meta-oe/recipes-devtools/makeself/makeself_2.5.0.bb
@@ -14,7 +14,6 @@ SRC_URI = "\
14 14
15SRCREV = "09488c50c6bdc40aec8e3a9b23a539c5054a634c" 15SRCREV = "09488c50c6bdc40aec8e3a9b23a539c5054a634c"
16 16
17S = "${WORKDIR}/git"
18 17
19do_configure[noexec] = "1" 18do_configure[noexec] = "1"
20do_compile[noexec] = "1" 19do_compile[noexec] = "1"
diff --git a/meta-oe/recipes-devtools/mbpoll/mbpoll_1.5.2.bb b/meta-oe/recipes-devtools/mbpoll/mbpoll_1.5.2.bb
index 028a8f9e46..4590b49955 100644
--- a/meta-oe/recipes-devtools/mbpoll/mbpoll_1.5.2.bb
+++ b/meta-oe/recipes-devtools/mbpoll/mbpoll_1.5.2.bb
@@ -11,6 +11,5 @@ DEPENDS = "libmodbus (>=3.1.4)"
11SRC_URI = "git://github.com/epsilonrt/mbpoll;protocol=https;branch=master" 11SRC_URI = "git://github.com/epsilonrt/mbpoll;protocol=https;branch=master"
12SRCREV = "a0bd6c08d3d15b086f2104477295c0705aed366a" 12SRCREV = "a0bd6c08d3d15b086f2104477295c0705aed366a"
13 13
14S = "${WORKDIR}/git"
15 14
16inherit pkgconfig cmake 15inherit pkgconfig cmake
diff --git a/meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb b/meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb
index 9445856730..dfa77770a7 100644
--- a/meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb
+++ b/meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb
@@ -7,12 +7,21 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \
7 file://ice-mcpp.patch \ 7 file://ice-mcpp.patch \
8 file://0001-configure-Fix-checks-for-system-headers.patch \ 8 file://0001-configure-Fix-checks-for-system-headers.patch \
9 file://CVE-2019-14274.patch" 9 file://CVE-2019-14274.patch"
10SRC_URI[md5sum] = "512de48c87ab023a69250edc7a0c7b05"
11SRC_URI[sha256sum] = "3b9b4421888519876c4fc68ade324a3bbd81ceeb7092ecdbbc2055099fcb8864" 10SRC_URI[sha256sum] = "3b9b4421888519876c4fc68ade324a3bbd81ceeb7092ecdbbc2055099fcb8864"
12 11
12UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/mcpp/files/mcpp/"
13UPSTREAM_CHECK_REGEX = "${BPN}/V\.(?P<pver>\d+(\.\d+)+)"
14
13inherit autotools 15inherit autotools
14 16
15EXTRA_OECONF = " --enable-mcpplib " 17EXTRA_OECONF = " --enable-mcpplib "
16 18
17BBCLASSEXTEND = "native nativesdk" 19BBCLASSEXTEND = "native nativesdk"
18 20
21# http://errors.yoctoproject.org/Errors/Details/766883/
22# mcpp-2.7.2/src/expand.c:713:21: error: assignment to 'char *' from incompatible pointer type 'LOCATION *' {aka 'struct location *'} [-Wincompatible-pointer-types]
23CFLAGS += "-Wno-error=incompatible-pointer-types"
24
25# http://errors.yoctoproject.org/Errors/Details/850149/
26# ../../mcpp-2.7.2/src/system.c:3436:15: error: expected identifier or '*' before 'true'
27CFLAGS += "-std=gnu17"
diff --git a/meta-oe/recipes-devtools/memstat/memstat_1.0.bb b/meta-oe/recipes-devtools/memstat/memstat_1.0.bb
index 7e0ff54dc5..a65782d017 100644
--- a/meta-oe/recipes-devtools/memstat/memstat_1.0.bb
+++ b/meta-oe/recipes-devtools/memstat/memstat_1.0.bb
@@ -8,7 +8,7 @@ SECTION = "devtool"
8 8
9LICENSE = "GPL-2.0-only" 9LICENSE = "GPL-2.0-only"
10 10
11S = "${WORKDIR}/memstattool" 11S = "${UNPACKDIR}/memstattool"
12 12
13LIC_FILES_CHKSUM = "file://debian/copyright;md5=87be186443b1ac2cfa466f475e1ee0cb" 13LIC_FILES_CHKSUM = "file://debian/copyright;md5=87be186443b1ac2cfa466f475e1ee0cb"
14 14
@@ -16,7 +16,6 @@ SRC_URI = "http://sourceforge.net/projects/memstattool/files/memstat_${PV}.tar.g
16 file://0001-Include-limits.h-for-PATH_MAX-definition.patch \ 16 file://0001-Include-limits.h-for-PATH_MAX-definition.patch \
17 " 17 "
18 18
19SRC_URI[md5sum] = "2c3acc0c62b2a18f6601b84e54aa7462"
20SRC_URI[sha256sum] = "245d5fc7fb87bcfd14486cd34917cae2856e799559ac568434af12c4852bce94" 19SRC_URI[sha256sum] = "245d5fc7fb87bcfd14486cd34917cae2856e799559ac568434af12c4852bce94"
21 20
22do_install:append(){ 21do_install:append(){
diff --git a/meta-oe/recipes-devtools/memtool/memtool/run-ptest b/meta-oe/recipes-devtools/memtool/memtool/run-ptest
new file mode 100644
index 0000000000..865da9f69e
--- /dev/null
+++ b/meta-oe/recipes-devtools/memtool/memtool/run-ptest
@@ -0,0 +1,27 @@
1#!/bin/sh
2
3# SPDX-FileCopyrightText: 2024 Bosch Sicherheitssysteme GmbH
4#
5# SPDX-License-Identifier: MIT
6
7fail_count=0
8all_count=0
9
10for test_suite in tests/test_*
11do
12 if "./$test_suite"
13 then
14 echo "PASS: $test_suite"
15 else
16 echo "FAIL: $test_suite"
17 fail_count=$((fail_count + 1))
18 fi
19 all_count=$((all_count + 1))
20done
21
22if [ $fail_count -eq 0 ]
23then
24 echo "PASS: All $all_count tests passed"
25else
26 echo "FAIL: $fail_count of $all_count tests failed"
27fi
diff --git a/meta-oe/recipes-devtools/memtool/memtool/test_read_write_plainfiles.sh b/meta-oe/recipes-devtools/memtool/memtool/test_read_write_plainfiles.sh
new file mode 100644
index 0000000000..a74975d392
--- /dev/null
+++ b/meta-oe/recipes-devtools/memtool/memtool/test_read_write_plainfiles.sh
@@ -0,0 +1,69 @@
1#!/bin/bash
2
3# SPDX-FileCopyrightText: 2024 Bosch Sicherheitssysteme GmbH
4#
5# SPDX-License-Identifier: MIT
6
7# This script verifies the behavior of memtool against plain files.
8
9readonly PLAIN_FILE=$(mktemp)
10FAIL_COUNT=0
11
12setup() {
13 echo "Hello World!" >"$PLAIN_FILE"
14}
15
16teardown() {
17 rm "$PLAIN_FILE"
18}
19
20verify() {
21 ACTUAL=$1
22 EXPECTED=$2
23 TEST_NAME=$3
24
25 if [ "$ACTUAL" = "$EXPECTED" ]; then
26 echo "pass: $TEST_NAME"
27 else
28 echo "FAIL: $TEST_NAME"
29 echo " Expected: $EXPECTED"
30 echo " Actual: $ACTUAL"
31 FAIL_COUNT=$((FAIL_COUNT + 1))
32 fi
33}
34
35# Test Case: Verifies that the expected string of bytes is read from a plain file starting from
36# the offset 6 and reading 6 bytes.
37test_memtool_read() {
38 EXPECTED="00000006: 57 6f 72 6c 64 21 World!"
39 ACTUAL=$(memtool md -s "$PLAIN_FILE" -b 0x6+6)
40 verify "$ACTUAL" "$EXPECTED" "memtool read from plain file"
41}
42
43# Test Case 2: Verifies that the expected string of bytes is written to a plain file starting from
44# and then read the result.
45test_memtool_write() {
46 # Usage of 'od' ensures correct endianess.
47 readonly replace_str_bytes=$(echo "Yocto!" | od -t d4 -A n)
48
49 # shellcheck disable=SC2086 # We want to pass the bytes as separate arguments.
50 memtool mw -d "$PLAIN_FILE" 0x6+6 $replace_str_bytes
51
52 EXPECTED="00000006: 59 6f 63 74 6f 21 Yocto!"
53 ACTUAL=$(memtool md -s "$PLAIN_FILE" -b 0x6+6)
54 verify "$ACTUAL" "$EXPECTED" "memtool write to plain file"
55}
56
57for test_case in $(declare -F | grep test_memtool_ | cut -f 3 -d ' '); do
58 setup
59 $test_case
60 teardown
61done
62
63if [ $FAIL_COUNT -eq 0 ]; then
64 echo "Test Passed: memtool plain file read/write functionality is correct."
65 exit 0
66else
67 echo "Test FAILED: memtool plain file read/write functionality is incorrect. Check the logs."
68 exit 1
69fi
diff --git a/meta-oe/recipes-devtools/memtool/memtool_2018.03.0.bb b/meta-oe/recipes-devtools/memtool/memtool_2018.03.0.bb
new file mode 100644
index 0000000000..1e2e93bcd5
--- /dev/null
+++ b/meta-oe/recipes-devtools/memtool/memtool_2018.03.0.bb
@@ -0,0 +1,31 @@
1# SPDX-FileCopyrightText: 2024 Bosch Sicherheitssysteme GmbH
2#
3# SPDX-License-Identifier: MIT
4
5SUMMARY = "A tool to manipulate and read memory mapped registers"
6DESCRIPTION = "memtool is a program that allows to access memory mapped registers. This is useful \
7to inspect and modify registers from the command line. memtool can also operate on plain files, \
8and access PHY registers."
9HOMEPAGE = "https://github.com/pengutronix/memtool"
10BUGTRACKER = "https://github.com/pengutronix/memtool/issues"
11SECTION = "devtool"
12
13LICENSE = "GPL-2.0-only"
14LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
15
16SRC_URI = " \
17 http://www.pengutronix.de/software/memtool/downloads/memtool-${PV}.tar.xz \
18 file://run-ptest \
19 file://test_read_write_plainfiles.sh \
20"
21
22SRC_URI[sha256sum] = "87cb7175266ff3a00a9c1f541c4c6c93693ffbe8dcc0d97a60d13c45ff860900"
23
24inherit autotools ptest
25
26do_install_ptest () {
27 install -d ${D}${PTEST_PATH}/tests
28 install -m 0755 ${UNPACKDIR}/test_* ${D}${PTEST_PATH}/tests
29}
30
31RDEPENDS:${PN}-ptest += "bash coreutils"
diff --git a/meta-oe/recipes-devtools/mercurial/mercurial_6.5.bb b/meta-oe/recipes-devtools/mercurial/mercurial_6.6.3.bb
index 2451a36be2..a312be4aa7 100644
--- a/meta-oe/recipes-devtools/mercurial/mercurial_6.5.bb
+++ b/meta-oe/recipes-devtools/mercurial/mercurial_6.6.3.bb
@@ -10,13 +10,13 @@ RDEPENDS:${PN} = "python3 python3-modules"
10inherit python3native python3targetconfig 10inherit python3native python3targetconfig
11 11
12SRC_URI = "https://www.mercurial-scm.org/release/${BP}.tar.gz" 12SRC_URI = "https://www.mercurial-scm.org/release/${BP}.tar.gz"
13SRC_URI[sha256sum] = "a5603d0d395ebf67fe5d27abbb3bd37fcc01871ecf394c793672d2c1e68be7e7" 13SRC_URI[sha256sum] = "f75d6a4a75823a1b7d713a4967eca2f596f466e58fc6bc06d72642932fd7e307"
14 14
15S = "${WORKDIR}/mercurial-${PV}" 15S = "${UNPACKDIR}/mercurial-${PV}"
16 16
17BBCLASSEXTEND = "native" 17BBCLASSEXTEND = "native"
18 18
19export LDSHARED="${CCLD} -shared" 19export LDSHARED = "${CCLD} -shared"
20 20
21EXTRA_OEMAKE = "STAGING_LIBDIR=${STAGING_LIBDIR} STAGING_INCDIR=${STAGING_INCDIR} \ 21EXTRA_OEMAKE = "STAGING_LIBDIR=${STAGING_LIBDIR} STAGING_INCDIR=${STAGING_INCDIR} \
22 PREFIX=${prefix}" 22 PREFIX=${prefix}"
@@ -34,3 +34,4 @@ PACKAGES =+ "${PN}-python"
34FILES:${PN} += "${PYTHON_SITEPACKAGES_DIR} ${datadir}" 34FILES:${PN} += "${PYTHON_SITEPACKAGES_DIR} ${datadir}"
35FILES:${PN}-python = "${nonarch_libdir}/${PYTHON_DIR}" 35FILES:${PN}-python = "${nonarch_libdir}/${PYTHON_DIR}"
36 36
37CVE_STATUS[CVE-2022-43410] = "cpe-incorrect: The recipe used in the `meta-openembedded` is a different mercurial package compared to the one which has the CVE issue."
diff --git a/meta-oe/recipes-devtools/microcom/microcom_2023.09.0.bb b/meta-oe/recipes-devtools/microcom/microcom_2023.09.0.bb
index 4bb3e62d9f..73d434cba5 100644
--- a/meta-oe/recipes-devtools/microcom/microcom_2023.09.0.bb
+++ b/meta-oe/recipes-devtools/microcom/microcom_2023.09.0.bb
@@ -6,6 +6,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c9f7c009791eaa4b9ca90dc4c9538d24"
6SRC_URI = "https://github.com/pengutronix/microcom/releases/download/v${PV}/microcom-${PV}.tar.xz" 6SRC_URI = "https://github.com/pengutronix/microcom/releases/download/v${PV}/microcom-${PV}.tar.xz"
7SRC_URI[sha256sum] = "ef42184bb35c9762b3e9c70748696f7478efacad8412a88aaf2d9a6a500231a1" 7SRC_URI[sha256sum] = "ef42184bb35c9762b3e9c70748696f7478efacad8412a88aaf2d9a6a500231a1"
8 8
9UPSTREAM_CHECK_URI = "${HOMEPAGE}/releases"
10UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)"
11
9DEPENDS = "readline" 12DEPENDS = "readline"
10 13
11inherit autotools update-alternatives 14inherit autotools update-alternatives
diff --git a/meta-oe/recipes-devtools/microsoft-gsl/microsoft-gsl_4.0.0.bb b/meta-oe/recipes-devtools/microsoft-gsl/microsoft-gsl_4.0.0.bb
index 6e29b2459d..2fbbf8f06a 100644
--- a/meta-oe/recipes-devtools/microsoft-gsl/microsoft-gsl_4.0.0.bb
+++ b/meta-oe/recipes-devtools/microsoft-gsl/microsoft-gsl_4.0.0.bb
@@ -16,7 +16,6 @@ SRC_URI = "git://github.com/microsoft/GSL.git;protocol=https;branch=main \
16" 16"
17SRCREV = "a3534567187d2edc428efd3f13466ff75fe5805c" 17SRCREV = "a3534567187d2edc428efd3f13466ff75fe5805c"
18 18
19S = "${WORKDIR}/git"
20 19
21inherit cmake pkgconfig ptest 20inherit cmake pkgconfig ptest
22 21
@@ -43,3 +42,8 @@ FILES:${PN}-ptest = "${bindir}/gsl*_tests"
43CVE_PRODUCT = "microsoft:gsl" 42CVE_PRODUCT = "microsoft:gsl"
44 43
45BBCLASSEXTEND = "native nativesdk" 44BBCLASSEXTEND = "native nativesdk"
45
46# This one is reproducible only on 32bit arm MACHINEs (didn't see it with qemux86 or qemux86-64 builds)
47# http://errors.yoctoproject.org/Errors/Details/766976/
48# lib32-microsoft-gsl/4.0.0/git/tests/span_tests.cpp:1275:34: error: value computed is not used [-Werror=unused-value]
49CXXFLAGS += "-Wno-error=unused-value"
diff --git a/meta-oe/recipes-devtools/mpich/mpich_4.2.1.bb b/meta-oe/recipes-devtools/mpich/mpich_4.3.0.bb
index 9fd8c3bb7b..6babba3de7 100644
--- a/meta-oe/recipes-devtools/mpich/mpich_4.2.1.bb
+++ b/meta-oe/recipes-devtools/mpich/mpich_4.3.0.bb
@@ -3,10 +3,10 @@ HOMEPAGE = "http://www.mpich.org/"
3SECTION = "devel" 3SECTION = "devel"
4 4
5LICENSE = "BSD-2-Clause" 5LICENSE = "BSD-2-Clause"
6LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=7a88f0d96d0d7396a7c66bf353235b62" 6LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=3a296dfb961b957b0e8adf67d8478d3d"
7 7
8SRC_URI = "http://www.mpich.org/static/downloads/${PV}/mpich-${PV}.tar.gz" 8SRC_URI = "http://www.mpich.org/static/downloads/${PV}/mpich-${PV}.tar.gz"
9SRC_URI[sha256sum] = "23331b2299f287c3419727edc2df8922d7e7abbb9fd0ac74e03b9966f9ad42d7" 9SRC_URI[sha256sum] = "5e04132984ad83cab9cc53f76072d2b5ef5a6d24b0a9ff9047a8ff96121bcc63"
10 10
11RDEPENDS:${PN} += "bash perl libxml2" 11RDEPENDS:${PN} += "bash perl libxml2"
12 12
diff --git a/meta-oe/recipes-devtools/msgpack/msgpack-c_6.0.0.bb b/meta-oe/recipes-devtools/msgpack/msgpack-c_6.0.0.bb
index 40d997a52c..aa7629763c 100644
--- a/meta-oe/recipes-devtools/msgpack/msgpack-c_6.0.0.bb
+++ b/meta-oe/recipes-devtools/msgpack/msgpack-c_6.0.0.bb
@@ -11,7 +11,6 @@ SRC_URI = "git://github.com/msgpack/msgpack-c;branch=c_master;protocol=https \
11 " 11 "
12SRCREV = "8160ede5e20fd3019a77eea46d9c72cf6163f802" 12SRCREV = "8160ede5e20fd3019a77eea46d9c72cf6163f802"
13 13
14S = "${WORKDIR}/git"
15 14
16inherit cmake pkgconfig 15inherit cmake pkgconfig
17 16
diff --git a/meta-oe/recipes-devtools/msgpack/msgpack-cpp_6.1.0.bb b/meta-oe/recipes-devtools/msgpack/msgpack-cpp_6.1.1.bb
index 5f5507bc74..3457964609 100644
--- a/meta-oe/recipes-devtools/msgpack/msgpack-cpp_6.1.0.bb
+++ b/meta-oe/recipes-devtools/msgpack/msgpack-cpp_6.1.1.bb
@@ -8,9 +8,12 @@ LIC_FILES_CHKSUM = "file://NOTICE;md5=7a858c074723608e08614061dc044352 \
8 " 8 "
9 9
10SRC_URI = "https://github.com/msgpack/msgpack-c/releases/download/cpp-${PV}/msgpack-cxx-${PV}.tar.gz" 10SRC_URI = "https://github.com/msgpack/msgpack-c/releases/download/cpp-${PV}/msgpack-cxx-${PV}.tar.gz"
11SRC_URI[sha256sum] = "23ede7e93c8efee343ad8c6514c28f3708207e5106af3b3e4969b3a9ed7039e7" 11SRC_URI[sha256sum] = "5fd555742e37bbd58d166199e669f01f743c7b3c6177191dd7b31fb0c37fa191"
12 12
13S = "${WORKDIR}/msgpack-cxx-${PV}" 13UPSTREAM_CHECK_URI = "https://github.com/msgpack/msgpack-c/releases"
14UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)"
15
16S = "${UNPACKDIR}/msgpack-cxx-${PV}"
14 17
15DEPENDS += "boost" 18DEPENDS += "boost"
16 19
diff --git a/meta-oe/recipes-devtools/msr-tools/msr-tools_1.3.bb b/meta-oe/recipes-devtools/msr-tools/msr-tools_1.3.bb
index 05220c2492..2183170ba6 100644
--- a/meta-oe/recipes-devtools/msr-tools/msr-tools_1.3.bb
+++ b/meta-oe/recipes-devtools/msr-tools/msr-tools_1.3.bb
@@ -5,10 +5,9 @@ LIC_FILES_CHKSUM = "file://Makefile;beginline=1;endline=11;md5=678a3928c85604242
5SECTION = "devel" 5SECTION = "devel"
6 6
7SRC_URI = "https://01.org/sites/default/files/downloads/msr-tools/msr-tools-${PV}.zip" 7SRC_URI = "https://01.org/sites/default/files/downloads/msr-tools/msr-tools-${PV}.zip"
8SRC_URI[md5sum] = "67d18527f64fd707c9b7a79f13d19fd5"
9SRC_URI[sha256sum] = "f9457b5340f5f274da4239a461f0db6b514142b40461559d9c6150f05aab1d1e" 8SRC_URI[sha256sum] = "f9457b5340f5f274da4239a461f0db6b514142b40461559d9c6150f05aab1d1e"
10 9
11S = "${WORKDIR}/msr-tools-master" 10S = "${UNPACKDIR}/msr-tools-master"
12 11
13COMPATIBLE_HOST = '(i.86|x86_64).*-linux' 12COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
14 13
diff --git a/meta-oe/recipes-devtools/musl/musl-nscd_git.bb b/meta-oe/recipes-devtools/musl/musl-nscd_git.bb
index 82e5c3bc5e..ef2553760d 100644
--- a/meta-oe/recipes-devtools/musl/musl-nscd_git.bb
+++ b/meta-oe/recipes-devtools/musl/musl-nscd_git.bb
@@ -20,7 +20,6 @@ UPSTREAM_CHECK_COMMITS = "1"
20 20
21inherit autotools-brokensep 21inherit autotools-brokensep
22 22
23S = "${WORKDIR}/git"
24 23
25do_configure () { 24do_configure () {
26 # no debug set -s flag 25 # no debug set -s flag
diff --git a/meta-oe/recipes-devtools/nlohmann-fifo/nlohmann-fifo_git.bb b/meta-oe/recipes-devtools/nlohmann-fifo/nlohmann-fifo_git.bb
index 36e46021bb..ec87535ec7 100644
--- a/meta-oe/recipes-devtools/nlohmann-fifo/nlohmann-fifo_git.bb
+++ b/meta-oe/recipes-devtools/nlohmann-fifo/nlohmann-fifo_git.bb
@@ -12,7 +12,6 @@ SRCREV = "d732aaf9a315415ae8fd7eb11e3a4c1f80e42a48"
12 12
13UPSTREAM_CHECK_COMMITS = "1" 13UPSTREAM_CHECK_COMMITS = "1"
14 14
15S = "${WORKDIR}/git"
16 15
17# nlohmann-fifo is a header only C++ library, so the main package will be empty. 16# nlohmann-fifo is a header only C++ library, so the main package will be empty.
18 17
diff --git a/meta-oe/recipes-devtools/nlohmann-json/files/run-ptest b/meta-oe/recipes-devtools/nlohmann-json/files/run-ptest
index 2f00267d50..d39ee6df8f 100755
--- a/meta-oe/recipes-devtools/nlohmann-json/files/run-ptest
+++ b/meta-oe/recipes-devtools/nlohmann-json/files/run-ptest
@@ -3,7 +3,11 @@
3cd tests 3cd tests
4for atest in test-* ; do 4for atest in test-* ; do
5 rm -rf tests.log 5 rm -rf tests.log
6 ./${atest} > tests.log 2>&1 6 if [ ${atest} = "test-locale-cpp_cpp11" ]; then
7 ./${atest} --test-case-exclude="locale-dependent test (LC_NUMERIC=de_DE)" > tests.log 2>&1
8 else
9 ./${atest} > tests.log 2>&1
10 fi
7 if [ $? = 0 ] ; then 11 if [ $? = 0 ] ; then
8 echo "PASS: ${atest}" 12 echo "PASS: ${atest}"
9 else 13 else
diff --git a/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.3.bb b/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.12.0.bb
index 194e80546e..1dfcc6ad75 100644
--- a/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.3.bb
+++ b/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.12.0.bb
@@ -2,21 +2,20 @@ SUMMARY = "JSON for modern C++"
2HOMEPAGE = "https://nlohmann.github.io/json/" 2HOMEPAGE = "https://nlohmann.github.io/json/"
3SECTION = "libs" 3SECTION = "libs"
4LICENSE = "MIT" 4LICENSE = "MIT"
5LIC_FILES_CHKSUM = "file://LICENSE.MIT;md5=f969127d7b7ed0a8a63c2bbeae002588" 5LIC_FILES_CHKSUM = "file://LICENSE.MIT;md5=3b489645de9825cca5beeb9a7e18b6eb"
6 6
7CVE_PRODUCT = "json-for-modern-cpp" 7CVE_PRODUCT = "json-for-modern-cpp"
8 8
9SRC_URI = "git://github.com/nlohmann/json.git;branch=develop;protocol=https \ 9SRC_URI = "git://github.com/nlohmann/json.git;branch=master;protocol=https \
10 git://github.com/nlohmann/json_test_data.git;destsuffix=git/json_test_data;name=json-test-data;branch=master;protocol=https \ 10 git://github.com/nlohmann/json_test_data.git;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/json_test_data;name=json-test-data;branch=master;protocol=https \
11 file://run-ptest \ 11 file://run-ptest \
12" 12"
13 13
14SRCREV = "9cca280a4d0ccf0c08f47a99aa71d1b0e52f8d03" 14SRCREV = "55f93686c01528224f448c19128836e7df245f72"
15SRCREV_json-test-data = "a1375cea09d27cc1c4cadb8d00470375b421ac37" 15SRCREV_json-test-data = "a1375cea09d27cc1c4cadb8d00470375b421ac37"
16 16
17SRCREV_FORMAT .= "_json-test-data" 17SRCREV_FORMAT .= "_json-test-data"
18 18
19S = "${WORKDIR}/git"
20 19
21inherit cmake ptest 20inherit cmake ptest
22 21
@@ -25,7 +24,7 @@ EXTRA_OECMAKE += "${@bb.utils.contains('PTEST_ENABLED', '1', '-DJSON_BuildTests=
25# nlohmann-json is a header only C++ library, so the main package will be empty. 24# nlohmann-json is a header only C++ library, so the main package will be empty.
26ALLOW_EMPTY:${PN} = "1" 25ALLOW_EMPTY:${PN} = "1"
27RDEPENDS:${PN}-dev = "" 26RDEPENDS:${PN}-dev = ""
28RDEPENDS:${PN}-ptest = "perl" 27RDEPENDS:${PN}-ptest = "perl locale-base-de-de"
29 28
30BBCLASSEXTEND = "native nativesdk" 29BBCLASSEXTEND = "native nativesdk"
31 30
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-20.12/oe-npm-cache b/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-22.16/oe-npm-cache
index eb0f143eae..eb0f143eae 100755
--- a/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-20.12/oe-npm-cache
+++ b/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-22.16/oe-npm-cache
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-native_20.12.bb b/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-native_22.16.bb
index a61dd5018f..1dcd1f7926 100644
--- a/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-native_20.12.bb
+++ b/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-native_22.16.bb
@@ -8,10 +8,12 @@ SRC_URI = "\
8 8
9inherit native 9inherit native
10 10
11S = "${UNPACKDIR}"
12
11B = "${WORKDIR}/build" 13B = "${WORKDIR}/build"
12 14
13do_configure() { 15do_configure() {
14 sed -e 's!@@libdir@@!${libdir}!g' < '${WORKDIR}/oe-npm-cache' > '${B}/oe-npm-cache' 16 sed -e 's!@@libdir@@!${libdir}!g' < '${UNPACKDIR}/oe-npm-cache' > '${B}/oe-npm-cache'
15} 17}
16 18
17do_install() { 19do_install() {
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch
index 12f6cd8b96..f692eedd41 100644
--- a/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch
+++ b/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch
@@ -1,4 +1,4 @@
1From 7d94bfe53beeb2d25eb5f2ff6b1d509df7e6ab80 Mon Sep 17 00:00:00 2001 1From 689e098cbde130ecde523ae39df3567456271fda Mon Sep 17 00:00:00 2001
2From: Zuzana Svetlikova <zsvetlik@redhat.com> 2From: Zuzana Svetlikova <zsvetlik@redhat.com>
3Date: Thu, 27 Apr 2017 14:25:42 +0200 3Date: Thu, 27 Apr 2017 14:25:42 +0200
4Subject: [PATCH] Disable running gyp on shared deps 4Subject: [PATCH] Disable running gyp on shared deps
@@ -28,19 +28,20 @@ python prune_sources() {
28 shutil.rmtree(d.getVar('S') + '/deps/zlib') 28 shutil.rmtree(d.getVar('S') + '/deps/zlib')
29} 29}
30do_unpack[postfuncs] += "prune_sources" 30do_unpack[postfuncs] += "prune_sources"
31
32--- 31---
33 Makefile | 2 +- 32 Makefile | 2 +-
34 1 file changed, 1 insertion(+), 1 deletion(-) 33 1 file changed, 1 insertion(+), 1 deletion(-)
35 34
35diff --git a/Makefile b/Makefile
36index dba16e5e..da4faffc 100644
36--- a/Makefile 37--- a/Makefile
37+++ b/Makefile 38+++ b/Makefile
38@@ -169,7 +169,7 @@ with-code-cache test-code-cache: 39@@ -173,7 +173,7 @@ with-code-cache test-code-cache:
39 $(warning '$@' target is a noop) 40 $(warning '$@' target is a noop)
40 41
41 out/Makefile: config.gypi common.gypi node.gyp \ 42 out/Makefile: config.gypi common.gypi common_node.gypi node.gyp \
42- deps/uv/uv.gyp deps/llhttp/llhttp.gyp deps/zlib/zlib.gyp \ 43- deps/uv/uv.gyp deps/llhttp/llhttp.gyp deps/zlib/zlib.gyp \
43+ deps/llhttp/llhttp.gyp \ 44+ deps/llhttp/llhttp.gyp \
44 deps/simdutf/simdutf.gyp deps/ada/ada.gyp \ 45 deps/simdutf/simdutf.gyp deps/ada/ada.gyp deps/nbytes/nbytes.gyp \
45 tools/v8_gypfiles/toolchain.gypi tools/v8_gypfiles/features.gypi \ 46 tools/v8_gypfiles/toolchain.gypi \
46 tools/v8_gypfiles/inspector.gypi tools/v8_gypfiles/v8.gyp 47 tools/v8_gypfiles/features.gypi \
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0001-Do-not-use-glob-in-deps.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0001-Do-not-use-glob-in-deps.patch
new file mode 100644
index 0000000000..551869523e
--- /dev/null
+++ b/meta-oe/recipes-devtools/nodejs/nodejs/0001-Do-not-use-glob-in-deps.patch
@@ -0,0 +1,22 @@
1// Revert the patch found here https://github.com/nodejs/node/commit/fe1dd26398e1887b96b2dc51ab59371ad4d6bc20?diff=unified&w=0
2// so that the dependencies are still explicitly enumerated. That way we
3// can pick and choose which pieces to build and which to use existing system
4// packages for.
5
6Upstream-Status: Inappropriate [embedded specific]
7
8
9--- a/Makefile 2025-01-11 14:37:29.059536707 -0500
10+++ b/Makefile 2025-01-11 14:39:52.419867046 -0500
11@@ -171,7 +171,8 @@
12 $(warning '$@' target is a noop)
13
14 out/Makefile: config.gypi common.gypi common_node.gypi node.gyp \
15- deps/*/*.gyp \
16+ deps/uv/uv.gyp deps/llhttp/llhttp.gyp deps/zlib/zlib.gyp \
17+ deps/simdutf/simdutf.gyp deps/ada/ada.gyp deps/nbytes/nbytes.gyp \
18 tools/v8_gypfiles/toolchain.gypi \
19 tools/v8_gypfiles/features.gypi \
20 tools/v8_gypfiles/inspector.gypi tools/v8_gypfiles/v8.gyp
21
22
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0001-build-fix-build-with-Python-3.12.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0001-build-fix-build-with-Python-3.12.patch
deleted file mode 100644
index 39026d0742..0000000000
--- a/meta-oe/recipes-devtools/nodejs/nodejs/0001-build-fix-build-with-Python-3.12.patch
+++ /dev/null
@@ -1,55 +0,0 @@
1From 656f6c91f1da7f1e1ffb01e2de7d9026a84958b5 Mon Sep 17 00:00:00 2001
2From: Luigi Pinca <luigipinca@gmail.com>
3Date: Wed, 8 Nov 2023 21:20:53 +0100
4Subject: [PATCH] build: fix build with Python 3.12
5
6Replace `distutils.version.StrictVersion` with
7`packaging.version.Version`.
8
9Refs: https://github.com/nodejs/node/pull/50209#issuecomment-1795852539
10PR-URL: https://github.com/nodejs/node/pull/50582
11Reviewed-By: Richard Lau <rlau@redhat.com>
12Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
13
14Upstream-Status: Backport [https://github.com/nodejs/node/commit/95534ad82f4e33f53fd50efe633d43f8da70cba6]
15Signed-off-by: Alexander Kanavin <alex@linutronix.de>
16---
17 configure.py | 11 +++++------
18 1 file changed, 5 insertions(+), 6 deletions(-)
19
20diff --git a/configure.py b/configure.py
21index 62f041ce..18fe7c14 100755
22--- a/configure.py
23+++ b/configure.py
24@@ -14,8 +14,6 @@ import bz2
25 import io
26 from pathlib import Path
27
28-from distutils.version import StrictVersion
29-
30 # If not run from node/, cd to node/.
31 os.chdir(Path(__file__).parent)
32
33@@ -30,6 +28,7 @@ tools_path = Path('tools')
34
35 sys.path.insert(0, str(tools_path / 'gyp' / 'pylib'))
36 from gyp.common import GetFlavor
37+from packaging.version import Version
38
39 # imports in tools/configure.d
40 sys.path.insert(0, str(tools_path / 'configure.d'))
41@@ -1565,10 +1564,10 @@ def configure_openssl(o):
42 # supported asm compiler for AVX2. See https://github.com/openssl/openssl/
43 # blob/OpenSSL_1_1_0-stable/crypto/modes/asm/aesni-gcm-x86_64.pl#L52-L69
44 openssl110_asm_supported = \
45- ('gas_version' in variables and StrictVersion(variables['gas_version']) >= StrictVersion('2.23')) or \
46- ('xcode_version' in variables and StrictVersion(variables['xcode_version']) >= StrictVersion('5.0')) or \
47- ('llvm_version' in variables and StrictVersion(variables['llvm_version']) >= StrictVersion('3.3')) or \
48- ('nasm_version' in variables and StrictVersion(variables['nasm_version']) >= StrictVersion('2.10'))
49+ ('gas_version' in variables and Version(variables['gas_version']) >= Version('2.23')) or \
50+ ('xcode_version' in variables and Version(variables['xcode_version']) >= Version('5.0')) or \
51+ ('llvm_version' in variables and Version(variables['llvm_version']) >= Version('3.3')) or \
52+ ('nasm_version' in variables and Version(variables['nasm_version']) >= Version('2.10'))
53
54 if is_x86 and not openssl110_asm_supported:
55 error('''Did not find a new enough assembler, install one or build with
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0001-custom-env.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0001-custom-env.patch
new file mode 100644
index 0000000000..532d3c5f51
--- /dev/null
+++ b/meta-oe/recipes-devtools/nodejs/nodejs/0001-custom-env.patch
@@ -0,0 +1,18 @@
1From 9c1a31afdcf368f794b9f5378cb3fe759570f905 Mon Sep 17 00:00:00 2001
2From: Jason Schonberg <schonm@gmail.com>
3Date: Tue, 30 Apr 2024 21:48:33 -0400
4Subject: [PATCH] Update to nodejs 22.0.0
5
6Upstream-Status: Inappropriate [embedded specific]
7---
8 test/fixtures/run-script/node_modules/.bin/custom-env | 2 +-
9 1 file changed, 1 insertion(+), 1 deletion(-)
10
11diff --git a/test/fixtures/run-script/node_modules/.bin/custom-env b/test/fixtures/run-script/node_modules/.bin/custom-env
12index e6f291c6..1430f2e9 100755
13--- a/test/fixtures/run-script/node_modules/.bin/custom-env
14+++ b/test/fixtures/run-script/node_modules/.bin/custom-env
15@@ -1,2 +1,2 @@
16-#!/bin/bash
17+#!/bin/sh
18 echo "$CUSTOM_ENV"
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0001-deps-disable-io_uring-support-in-libuv.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0001-deps-disable-io_uring-support-in-libuv.patch
new file mode 100644
index 0000000000..01ae50cdc4
--- /dev/null
+++ b/meta-oe/recipes-devtools/nodejs/nodejs/0001-deps-disable-io_uring-support-in-libuv.patch
@@ -0,0 +1,60 @@
1From 79af9bd6ac1040f1fe3c6cab26b2d040ad907870 Mon Sep 17 00:00:00 2001
2From: Changqing Li <changqing.li@windriver.com>
3Date: Fri, 1 Mar 2024 15:46:11 +0800
4Subject: [PATCH] deps: disable io_uring support in libuv
5
6Refer [1], Pseudo fails to intercept some of the syscalls when io_uring
7enabled. Refer [2], always disable io_uring support in libuv to fix
8issue in [1].
9
10[1] https://git.openembedded.org/meta-openembedded/commit/?id=d08453978c31ee41d28206c6ff198d7d9d701d88
11[2] https://github.com/nodejs/node/commit/686da19abb
12
13Upstream-Status: Inappropriate [oe specific]
14
15Signed-off-by: Changqing Li <changqing.li@windriver.com>
16Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
17---
18 deps/uv/src/unix/linux.c | 29 +----------------------------
19 1 file changed, 1 insertion(+), 28 deletions(-)
20
21diff --git a/deps/uv/src/unix/linux.c b/deps/uv/src/unix/linux.c
22index 803a9a9d3f0..a4735f56cf0 100644
23--- a/deps/uv/src/unix/linux.c
24+++ b/deps/uv/src/unix/linux.c
25@@ -465,34 +465,7 @@ static int uv__use_io_uring(void) {
26 /* See https://github.com/libuv/libuv/issues/4283. */
27 return 0; /* Random SIGSEGV in signal handler. */
28 #else
29- /* Ternary: unknown=0, yes=1, no=-1 */
30- static _Atomic int use_io_uring;
31- char* val;
32- int use;
33-
34- use = atomic_load_explicit(&use_io_uring, memory_order_relaxed);
35-
36- if (use == 0) {
37- use = uv__kernel_version() >=
38-#if defined(__hppa__)
39- /* io_uring first supported on parisc in 6.1, functional in .51 */
40- /* https://lore.kernel.org/all/cb912694-b1fe-dbb0-4d8c-d608f3526905@gmx.de/ */
41- /* 6.1.51 */ 0x060133
42-#else
43- /* Older kernels have a bug where the sqpoll thread uses 100% CPU. */
44- /* 5.10.186 */ 0x050ABA
45-#endif
46- ? 1 : -1;
47-
48- /* But users can still enable it if they so desire. */
49- val = getenv("UV_USE_IO_URING");
50- if (val != NULL)
51- use = atoi(val) ? 1 : -1;
52-
53- atomic_store_explicit(&use_io_uring, use, memory_order_relaxed);
54- }
55-
56- return use > 0;
57+ return 0; /* pseudo doesn't support io_uring https://bugzilla.yoctoproject.org/show_bug.cgi?id=15244 */
58 #endif
59 }
60
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0001-gyp-resolve-python-3.12-issues.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0001-gyp-resolve-python-3.12-issues.patch
deleted file mode 100644
index 9d878dfb8d..0000000000
--- a/meta-oe/recipes-devtools/nodejs/nodejs/0001-gyp-resolve-python-3.12-issues.patch
+++ /dev/null
@@ -1,63 +0,0 @@
1From bf8c96ba6936050ed4a0de5bc8aeeaf2b3c50dc1 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex@linutronix.de>
3Date: Thu, 7 Dec 2023 12:54:30 +0100
4Subject: [PATCH] gyp: resolve python 3.12 issues
5
6Upstream has updated gyp wholesale in the main branch, so
7this patch can be dropped in due time.
8
9Upstream-Status: Inappropriate [issue will be fixed upstream with the next nodejs LTS update]
10
11Signed-off-by: Alexander Kanavin <alex@linutronix.de>
12---
13 deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py | 4 ++--
14 tools/gyp/pylib/gyp/input.py | 4 ++--
15 2 files changed, 4 insertions(+), 4 deletions(-)
16
17diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py
18index d9699a0a..173e9465 100644
19--- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py
20+++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py
21@@ -16,7 +16,7 @@ import subprocess
22 import sys
23 import threading
24 import traceback
25-from distutils.version import StrictVersion
26+from packaging.version import Version
27 from gyp.common import GypError
28 from gyp.common import OrderedSet
29
30@@ -1183,7 +1183,7 @@ def EvalSingleCondition(cond_expr, true_dict, false_dict, phase, variables, buil
31 else:
32 ast_code = compile(cond_expr_expanded, "<string>", "eval")
33 cached_conditions_asts[cond_expr_expanded] = ast_code
34- env = {"__builtins__": {}, "v": StrictVersion}
35+ env = {"__builtins__": {}, "v": Version}
36 if eval(ast_code, env, variables):
37 return true_dict
38 return false_dict
39diff --git a/tools/gyp/pylib/gyp/input.py b/tools/gyp/pylib/gyp/input.py
40index 354958bf..ab6112e5 100644
41--- a/tools/gyp/pylib/gyp/input.py
42+++ b/tools/gyp/pylib/gyp/input.py
43@@ -16,7 +16,7 @@ import subprocess
44 import sys
45 import threading
46 import traceback
47-from distutils.version import StrictVersion
48+from packaging.version import Version
49 from gyp.common import GypError
50 from gyp.common import OrderedSet
51
52@@ -1190,7 +1190,7 @@ def EvalSingleCondition(cond_expr, true_dict, false_dict, phase, variables, buil
53 else:
54 ast_code = compile(cond_expr_expanded, "<string>", "eval")
55 cached_conditions_asts[cond_expr_expanded] = ast_code
56- env = {"__builtins__": {}, "v": StrictVersion}
57+ env = {"__builtins__": {}, "v": Version}
58 if eval(ast_code, env, variables):
59 return true_dict
60 return false_dict
61--
622.39.2
63
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0001-liftoff-Correct-function-signatures.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0001-liftoff-Correct-function-signatures.patch
index 5af87d866e..5e617e6554 100644
--- a/meta-oe/recipes-devtools/nodejs/nodejs/0001-liftoff-Correct-function-signatures.patch
+++ b/meta-oe/recipes-devtools/nodejs/nodejs/0001-liftoff-Correct-function-signatures.patch
@@ -1,7 +1,7 @@
1From dc3652c0abcdf8573fd044907b19d8eda7ca1124 Mon Sep 17 00:00:00 2001 1From 33393507ba8209f0d6b85b391c525b4c70807275 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 3 Jul 2023 12:33:16 +0000 3Date: Mon, 3 Jul 2023 12:33:16 +0000
4Subject: [PATCH] [liftoff] Correct function signatures 4Subject: [PATCH] Correct function signatures
5 5
6Fixes builds on mips where clang reports an error 6Fixes builds on mips where clang reports an error
7../deps/v8/src/wasm/baseline/mips/liftoff-assembler-mips.h:661:5: error: no matching member function for call to 'Move' 7../deps/v8/src/wasm/baseline/mips/liftoff-assembler-mips.h:661:5: error: no matching member function for call to 'Move'
@@ -13,15 +13,15 @@ Upstream-Status: Submitted [https://chromium-review.googlesource.com/c/v8/v8/+/3
13Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com> 13Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
14--- 14---
15 deps/v8/src/wasm/baseline/liftoff-assembler.h | 6 +++--- 15 deps/v8/src/wasm/baseline/liftoff-assembler.h | 6 +++---
16 deps/v8/src/wasm/baseline/mips64/liftoff-assembler-mips64.h | 2 +- 16 .../src/wasm/baseline/mips64/liftoff-assembler-mips64-inl.h | 2 +-
17 deps/v8/src/wasm/baseline/riscv/liftoff-assembler-riscv64.h | 2 +- 17 .../src/wasm/baseline/riscv/liftoff-assembler-riscv64-inl.h | 2 +-
18 3 files changed, 5 insertions(+), 5 deletions(-) 18 3 files changed, 5 insertions(+), 5 deletions(-)
19 19
20diff --git a/deps/v8/src/wasm/baseline/liftoff-assembler.h b/deps/v8/src/wasm/baseline/liftoff-assembler.h 20diff --git a/deps/v8/src/wasm/baseline/liftoff-assembler.h b/deps/v8/src/wasm/baseline/liftoff-assembler.h
21index aef63c64..f2a11b01 100644 21index 7cb2f500..713d16db 100644
22--- a/deps/v8/src/wasm/baseline/liftoff-assembler.h 22--- a/deps/v8/src/wasm/baseline/liftoff-assembler.h
23+++ b/deps/v8/src/wasm/baseline/liftoff-assembler.h 23+++ b/deps/v8/src/wasm/baseline/liftoff-assembler.h
24@@ -717,7 +717,7 @@ class LiftoffAssembler : public MacroAssembler { 24@@ -681,7 +681,7 @@ class LiftoffAssembler : public MacroAssembler {
25 void FinishCall(const ValueKindSig*, compiler::CallDescriptor*); 25 void FinishCall(const ValueKindSig*, compiler::CallDescriptor*);
26 26
27 // Move {src} into {dst}. {src} and {dst} must be different. 27 // Move {src} into {dst}. {src} and {dst} must be different.
@@ -30,7 +30,7 @@ index aef63c64..f2a11b01 100644
30 30
31 // Parallel register move: For a list of tuples <dst, src, kind>, move the 31 // Parallel register move: For a list of tuples <dst, src, kind>, move the
32 // {src} register of kind {kind} into {dst}. If {src} equals {dst}, ignore 32 // {src} register of kind {kind} into {dst}. If {src} equals {dst}, ignore
33@@ -884,8 +884,8 @@ class LiftoffAssembler : public MacroAssembler { 33@@ -851,8 +851,8 @@ class LiftoffAssembler : public MacroAssembler {
34 inline void MoveStackValue(uint32_t dst_offset, uint32_t src_offset, 34 inline void MoveStackValue(uint32_t dst_offset, uint32_t src_offset,
35 ValueKind); 35 ValueKind);
36 36
@@ -41,24 +41,24 @@ index aef63c64..f2a11b01 100644
41 41
42 inline void Spill(int offset, LiftoffRegister, ValueKind); 42 inline void Spill(int offset, LiftoffRegister, ValueKind);
43 inline void Spill(int offset, WasmValue); 43 inline void Spill(int offset, WasmValue);
44diff --git a/deps/v8/src/wasm/baseline/mips64/liftoff-assembler-mips64.h b/deps/v8/src/wasm/baseline/mips64/liftoff-assembler-mips64.h 44diff --git a/deps/v8/src/wasm/baseline/mips64/liftoff-assembler-mips64-inl.h b/deps/v8/src/wasm/baseline/mips64/liftoff-assembler-mips64-inl.h
45index 96cba24c..53e1842d 100644 45index bd59f162..56b4d70c 100644
46--- a/deps/v8/src/wasm/baseline/mips64/liftoff-assembler-mips64.h 46--- a/deps/v8/src/wasm/baseline/mips64/liftoff-assembler-mips64-inl.h
47+++ b/deps/v8/src/wasm/baseline/mips64/liftoff-assembler-mips64.h 47+++ b/deps/v8/src/wasm/baseline/mips64/liftoff-assembler-mips64-inl.h
48@@ -592,7 +592,7 @@ void LiftoffAssembler::Store(Register dst_addr, Register offset_reg, 48@@ -672,7 +672,7 @@ void LiftoffAssembler::Store(Register dst_addr, Register offset_reg,
49 pinned.set(dst_op.rm()); 49 pinned.set(dst_op.rm());
50 LiftoffRegister tmp = GetUnusedRegister(src.reg_class(), pinned); 50 LiftoffRegister tmp = kScratchReg2;
51 // Save original value. 51 // Save original value.
52- Move(tmp, src, type.value_type()); 52- Move(tmp, src, type.value_type());
53+ Move(tmp, src, type.value_type().kind()); 53+ Move(tmp, src, type.value_type().kind());
54 54
55 src = tmp; 55 src = tmp;
56 pinned.set(tmp); 56 pinned.set(tmp);
57diff --git a/deps/v8/src/wasm/baseline/riscv/liftoff-assembler-riscv64.h b/deps/v8/src/wasm/baseline/riscv/liftoff-assembler-riscv64.h 57diff --git a/deps/v8/src/wasm/baseline/riscv/liftoff-assembler-riscv64-inl.h b/deps/v8/src/wasm/baseline/riscv/liftoff-assembler-riscv64-inl.h
58index 1d6ae09e..397e82b2 100644 58index a3c94af0..456e5334 100644
59--- a/deps/v8/src/wasm/baseline/riscv/liftoff-assembler-riscv64.h 59--- a/deps/v8/src/wasm/baseline/riscv/liftoff-assembler-riscv64-inl.h
60+++ b/deps/v8/src/wasm/baseline/riscv/liftoff-assembler-riscv64.h 60+++ b/deps/v8/src/wasm/baseline/riscv/liftoff-assembler-riscv64-inl.h
61@@ -286,7 +286,7 @@ void LiftoffAssembler::Store(Register dst_addr, Register offset_reg, 61@@ -452,7 +452,7 @@ void LiftoffAssembler::Store(Register dst_addr, Register offset_reg,
62 pinned.set(dst_op.rm()); 62 pinned.set(dst_op.rm());
63 LiftoffRegister tmp = GetUnusedRegister(src.reg_class(), pinned); 63 LiftoffRegister tmp = GetUnusedRegister(src.reg_class(), pinned);
64 // Save original value. 64 // Save original value.
@@ -67,5 +67,3 @@ index 1d6ae09e..397e82b2 100644
67 67
68 src = tmp; 68 src = tmp;
69 pinned.set(tmp); 69 pinned.set(tmp);
70--
712.40.0
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0001-positional-args.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0001-positional-args.patch
new file mode 100644
index 0000000000..5fd6aee351
--- /dev/null
+++ b/meta-oe/recipes-devtools/nodejs/nodejs/0001-positional-args.patch
@@ -0,0 +1,19 @@
1From 07ee84863fa4a9e4d5f155632478587b0acbf71a Mon Sep 17 00:00:00 2001
2From: Jason Schonberg <schonm@gmail.com>
3Date: Tue, 30 Apr 2024 21:48:33 -0400
4Subject: [PATCH] Update to nodejs 22.0.0
5
6Upstream-Status: Inappropriate [embedded specific]
7---
8 test/fixtures/run-script/node_modules/.bin/positional-args | 2 +-
9 1 file changed, 1 insertion(+), 1 deletion(-)
10
11diff --git a/test/fixtures/run-script/node_modules/.bin/positional-args b/test/fixtures/run-script/node_modules/.bin/positional-args
12index 2d809237..3dc5314f 100755
13--- a/test/fixtures/run-script/node_modules/.bin/positional-args
14+++ b/test/fixtures/run-script/node_modules/.bin/positional-args
15@@ -1,3 +1,3 @@
16-#!/bin/bash
17+#!/bin/sh
18 echo "Arguments: '$@'"
19 echo "The total number of arguments are: $#"
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0004-v8-don-t-override-ARM-CFLAGS.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0004-v8-don-t-override-ARM-CFLAGS.patch
index 97ed972cee..cc920118a2 100644
--- a/meta-oe/recipes-devtools/nodejs/nodejs/0004-v8-don-t-override-ARM-CFLAGS.patch
+++ b/meta-oe/recipes-devtools/nodejs/nodejs/0004-v8-don-t-override-ARM-CFLAGS.patch
@@ -1,4 +1,4 @@
1From 47ee5cc5501289205d3e8e9f27ea9daf18cebac1 Mon Sep 17 00:00:00 2001 1From afc085af7b6b935a5e14fc3f40db47df02ca3af2 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <git@andred.net> 2From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <git@andred.net>
3Date: Sat, 9 Nov 2019 14:45:30 +0000 3Date: Sat, 9 Nov 2019 14:45:30 +0000
4Subject: [PATCH] v8: don't override ARM CFLAGS 4Subject: [PATCH] v8: don't override ARM CFLAGS
@@ -28,10 +28,10 @@ Signed-off-by: André Draszik <git@andred.net>
28 1 file changed, 2 insertions(+), 50 deletions(-) 28 1 file changed, 2 insertions(+), 50 deletions(-)
29 29
30diff --git a/tools/v8_gypfiles/toolchain.gypi b/tools/v8_gypfiles/toolchain.gypi 30diff --git a/tools/v8_gypfiles/toolchain.gypi b/tools/v8_gypfiles/toolchain.gypi
31index 264b3e478e..0b41848145 100644 31index 9d1b0987..4df15e60 100644
32--- a/tools/v8_gypfiles/toolchain.gypi 32--- a/tools/v8_gypfiles/toolchain.gypi
33+++ b/tools/v8_gypfiles/toolchain.gypi 33+++ b/tools/v8_gypfiles/toolchain.gypi
34@@ -211,31 +211,7 @@ 34@@ -203,31 +203,7 @@
35 'target_conditions': [ 35 'target_conditions': [
36 ['_toolset=="host"', { 36 ['_toolset=="host"', {
37 'conditions': [ 37 'conditions': [
@@ -64,7 +64,7 @@ index 264b3e478e..0b41848145 100644
64 # Host not built with an Arm CXX compiler (simulator build). 64 # Host not built with an Arm CXX compiler (simulator build).
65 'conditions': [ 65 'conditions': [
66 [ 'arm_float_abi=="hard"', { 66 [ 'arm_float_abi=="hard"', {
67@@ -254,31 +230,7 @@ 67@@ -246,31 +222,7 @@
68 }], # _toolset=="host" 68 }], # _toolset=="host"
69 ['_toolset=="target"', { 69 ['_toolset=="target"', {
70 'conditions': [ 70 'conditions': [
@@ -97,6 +97,3 @@ index 264b3e478e..0b41848145 100644
97 # Target not built with an Arm CXX compiler (simulator build). 97 # Target not built with an Arm CXX compiler (simulator build).
98 'conditions': [ 98 'conditions': [
99 [ 'arm_float_abi=="hard"', { 99 [ 'arm_float_abi=="hard"', {
100--
1012.20.1
102
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/libatomic.patch b/meta-oe/recipes-devtools/nodejs/nodejs/libatomic.patch
index cb0237309e..d987ac50be 100644
--- a/meta-oe/recipes-devtools/nodejs/nodejs/libatomic.patch
+++ b/meta-oe/recipes-devtools/nodejs/nodejs/libatomic.patch
@@ -1,21 +1,77 @@
1Link mksnapshot with libatomic on x86 1From 15e751e4b79475fb34e4b32a3ca54119b20c564a Mon Sep 17 00:00:00 2001
2From: Hongxu Jia <hongxu.jia@windriver.com>
3Date: Sat, 17 Aug 2024 21:33:18 +0800
4Subject: [PATCH] link libatomic for clang conditionally
2 5
3Clang-12 on x86 emits atomic builtins 6Clang emits atomic builtin, explicitly link libatomic conditionally:
7- For target build, always link -latomic for clang as usual
8- For host build, if host and target have same bit width, cross compiling
9 is enabled, and host toolchain is gcc which does not link -latomic;
10 if host and target have different bit width, no cross compiling,
11 host build is the same with target build that requires to link
12 -latomic;
4 13
5Fixes 14Fix:
6| module-compiler.cc:(.text._ZN2v88internal4wasm12_GLOBAL__N_123ExecuteCompilationUnitsERKSt10shared_ptrINS2_22BackgroundCompileTokenEEPNS0_8CountersEiNS2_19CompileBaselineOnlyE+0x558): un 15|tmp-glibc/work/core2-64-wrs-linux/nodejs/20.13.0/node-v20.13.0/out/Release/node_js2c: error while loading shared libraries: libatomic.so.1: cannot open shared object file: No such file or directory
7defined reference to `__atomic_load'
8 16
9Upstream-Status: Pending 17Upstream-Status: Inappropriate [OE specific]
10Signed-off-by: Khem Raj <raj.khem@gmail.com>
11 18
19Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
20---
21 node.gyp | 13 ++++++++++++-
22 tools/v8_gypfiles/v8.gyp | 15 ++++++++++++---
23 2 files changed, 24 insertions(+), 4 deletions(-)
24
25diff --git a/node.gyp b/node.gyp
26index b425f443..f296f35c 100644
27--- a/node.gyp
28+++ b/node.gyp
29@@ -487,7 +487,18 @@
30 ],
31 }],
32 ['OS=="linux" and clang==1', {
33- 'libraries': ['-latomic'],
34+ 'target_conditions': [
35+ ['_toolset=="host"', {
36+ 'conditions': [
37+ ['"<!(echo $HOST_AND_TARGET_SAME_WIDTH)"=="0"', {
38+ 'libraries': ['-latomic'],
39+ }],
40+ ],
41+ }],
42+ ['_toolset=="target"', {
43+ 'libraries': ['-latomic'],
44+ }],
45+ ],
46 }],
47 ],
48 },
49diff --git a/tools/v8_gypfiles/v8.gyp b/tools/v8_gypfiles/v8.gyp
50index b23263cf..dcabf4ca 100644
12--- a/tools/v8_gypfiles/v8.gyp 51--- a/tools/v8_gypfiles/v8.gyp
13+++ b/tools/v8_gypfiles/v8.gyp 52+++ b/tools/v8_gypfiles/v8.gyp
14@@ -1436,6 +1436,7 @@ 53@@ -1100,9 +1100,18 @@
15 { 54 # Platforms that don't have Compare-And-Swap (CAS) support need to link atomic library
16 'target_name': 'mksnapshot', 55 # to implement atomic memory access
17 'type': 'executable', 56 ['v8_current_cpu in ["mips64", "mips64el", "ppc", "arm", "riscv64", "loong64"]', {
18+ 'libraries': [ '-latomic' ], 57- 'link_settings': {
19 'dependencies': [ 58- 'libraries': ['-latomic', ],
20 'v8_base_without_compiler', 59- },
21 'v8_compiler_for_mksnapshot', 60+ 'target_conditions': [
61+ ['_toolset=="host"', {
62+ 'conditions': [
63+ ['"<!(echo $HOST_AND_TARGET_SAME_WIDTH)"=="0"', {
64+ 'libraries': ['-latomic'],
65+ }],
66+ ],
67+ }],
68+ ['_toolset=="target"', {
69+ 'libraries': ['-latomic', ],
70+ }],
71+ ],
72 }],
73 ],
74 }, # v8_base_without_compiler
75--
762.35.5
77
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/system-c-ares.patch b/meta-oe/recipes-devtools/nodejs/nodejs/system-c-ares.patch
index 141889ad23..6f08c71e18 100644
--- a/meta-oe/recipes-devtools/nodejs/nodejs/system-c-ares.patch
+++ b/meta-oe/recipes-devtools/nodejs/nodejs/system-c-ares.patch
@@ -1,11 +1,19 @@
1keep nodejs compatible with c-ares 1.17.1 1From ce931ad5f5aba60e8e77f39e0af43bce7d25d287 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 4 Mar 2024 11:05:25 -0500
4Subject: [PATCH] keep nodejs compatible with c-ares 1.17.1
2 5
3Upstream-Status: Inappropriate [c-ares specific] 6Upstream-Status: Inappropriate [c-ares specific]
4Signed-off-by: Khem Raj <raj.khem@gmail.com> 7Signed-off-by: Khem Raj <raj.khem@gmail.com>
8---
9 src/cares_wrap.h | 10 +++++++++-
10 1 file changed, 9 insertions(+), 1 deletion(-)
5 11
12diff --git a/src/cares_wrap.h b/src/cares_wrap.h
13index 021ef1c9..820c5d88 100644
6--- a/src/cares_wrap.h 14--- a/src/cares_wrap.h
7+++ b/src/cares_wrap.h 15+++ b/src/cares_wrap.h
8@@ -22,7 +22,15 @@ 16@@ -23,7 +23,15 @@
9 # include <netdb.h> 17 # include <netdb.h>
10 #endif // __POSIX__ 18 #endif // __POSIX__
11 19
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs_20.12.2.bb b/meta-oe/recipes-devtools/nodejs/nodejs_22.16.0.bb
index d86c38f2fc..4bc829f140 100644
--- a/meta-oe/recipes-devtools/nodejs/nodejs_20.12.2.bb
+++ b/meta-oe/recipes-devtools/nodejs/nodejs_22.16.0.bb
@@ -1,15 +1,15 @@
1DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript" 1DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript"
2HOMEPAGE = "http://nodejs.org" 2HOMEPAGE = "http://nodejs.org"
3LICENSE = "MIT & ISC & BSD-2-Clause & BSD-3-Clause & Artistic-2.0 & Apache-2.0" 3LICENSE = "MIT & ISC & BSD-2-Clause & BSD-3-Clause & Artistic-2.0 & Apache-2.0"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=9a7fcce64128730251dbc58aa41b4674" 4LIC_FILES_CHKSUM = "file://LICENSE;md5=b4f41dcacabc8f07b9ca7dee2f188a00"
5 5
6CVE_PRODUCT = "nodejs node.js" 6CVE_PRODUCT = "nodejs node.js"
7 7
8DEPENDS = "openssl file-replacement-native python3-packaging-native" 8DEPENDS = "openssl openssl-native file-replacement-native python3-packaging-native"
9DEPENDS:append:class-target = " qemu-native" 9DEPENDS:append:class-target = " qemu-native"
10DEPENDS:append:class-native = " c-ares-native" 10DEPENDS:append:class-native = " c-ares-native"
11 11
12inherit pkgconfig python3native qemu ptest 12inherit pkgconfig python3native qemu ptest siteinfo
13 13
14COMPATIBLE_MACHINE:armv4 = "(!.*armv4).*" 14COMPATIBLE_MACHINE:armv4 = "(!.*armv4).*"
15COMPATIBLE_MACHINE:armv5 = "(!.*armv5).*" 15COMPATIBLE_MACHINE:armv5 = "(!.*armv5).*"
@@ -18,27 +18,29 @@ COMPATIBLE_MACHINE:mips64 = "(!.*mips64).*"
18COMPATIBLE_HOST:riscv64 = "null" 18COMPATIBLE_HOST:riscv64 = "null"
19COMPATIBLE_HOST:riscv32 = "null" 19COMPATIBLE_HOST:riscv32 = "null"
20COMPATIBLE_HOST:powerpc = "null" 20COMPATIBLE_HOST:powerpc = "null"
21COMPATIBLE_HOST:powerpc64le = "null"
21 22
22SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \ 23SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \
24 file://0001-Do-not-use-glob-in-deps.patch \
23 file://0001-Disable-running-gyp-files-for-bundled-deps.patch \ 25 file://0001-Disable-running-gyp-files-for-bundled-deps.patch \
24 file://0004-v8-don-t-override-ARM-CFLAGS.patch \ 26 file://0004-v8-don-t-override-ARM-CFLAGS.patch \
25 file://system-c-ares.patch \ 27 file://system-c-ares.patch \
26 file://0001-liftoff-Correct-function-signatures.patch \ 28 file://0001-liftoff-Correct-function-signatures.patch \
29 file://libatomic.patch \
30 file://0001-deps-disable-io_uring-support-in-libuv.patch \
31 file://0001-positional-args.patch \
32 file://0001-custom-env.patch \
27 file://run-ptest \ 33 file://run-ptest \
28 " 34 "
29
30SRC_URI:append:class-target = " \ 35SRC_URI:append:class-target = " \
31 file://0001-Using-native-binaries.patch \ 36 file://0001-Using-native-binaries.patch \
32 " 37 "
33SRC_URI:append:toolchain-clang:x86 = " \
34 file://libatomic.patch \
35 "
36SRC_URI:append:toolchain-clang:powerpc64le = " \ 38SRC_URI:append:toolchain-clang:powerpc64le = " \
37 file://0001-ppc64-Do-not-use-mminimal-toc-with-clang.patch \ 39 file://0001-ppc64-Do-not-use-mminimal-toc-with-clang.patch \
38 " 40 "
39SRC_URI[sha256sum] = "d7cbcc5fbfb31e9001f3f0150bbeda59abe5dd7137aaa6273958cd59ce35ced7" 41SRC_URI[sha256sum] = "720894f323e5c1ac24968eb2676660c90730d715cb7f090be71a668662a17c37"
40 42
41S = "${WORKDIR}/node-v${PV}" 43S = "${UNPACKDIR}/node-v${PV}"
42 44
43CVE_PRODUCT += "node.js" 45CVE_PRODUCT += "node.js"
44 46
@@ -66,28 +68,14 @@ ARCHFLAGS ?= ""
66 68
67PACKAGECONFIG ??= "ares brotli icu zlib" 69PACKAGECONFIG ??= "ares brotli icu zlib"
68 70
69PACKAGECONFIG[ares] = "--shared-cares,,c-ares" 71PACKAGECONFIG[ares] = "--shared-cares,,c-ares c-ares-native"
70PACKAGECONFIG[brotli] = "--shared-brotli,,brotli" 72PACKAGECONFIG[brotli] = "--shared-brotli,,brotli brotli-native"
71PACKAGECONFIG[icu] = "--with-intl=system-icu,--without-intl,icu" 73PACKAGECONFIG[icu] = "--with-intl=system-icu,--without-intl,icu icu-native"
72PACKAGECONFIG[libuv] = "--shared-libuv,,libuv" 74PACKAGECONFIG[libuv] = "--shared-libuv,,libuv"
73PACKAGECONFIG[nghttp2] = "--shared-nghttp2,,nghttp2" 75PACKAGECONFIG[nghttp2] = "--shared-nghttp2,,nghttp2"
74PACKAGECONFIG[shared] = "--shared" 76PACKAGECONFIG[shared] = "--shared"
75PACKAGECONFIG[zlib] = "--shared-zlib,,zlib" 77PACKAGECONFIG[zlib] = "--shared-zlib,,zlib"
76 78
77# We don't want to cross-compile during target compile,
78# and we need to use the right flags during host compile,
79# too.
80EXTRA_OEMAKE = "\
81 CC.host='${CC} -pie -fPIE' \
82 CFLAGS.host='${CPPFLAGS} ${CFLAGS}' \
83 CXX.host='${CXX} -pie -fPIE' \
84 CXXFLAGS.host='${CPPFLAGS} ${CXXFLAGS}' \
85 LDFLAGS.host='${LDFLAGS}' \
86 AR.host='${AR}' \
87 \
88 builddir_name=./ \
89"
90
91EXTRANATIVEPATH += "file-native" 79EXTRANATIVEPATH += "file-native"
92 80
93python prune_sources() { 81python prune_sources() {
@@ -110,9 +98,11 @@ do_unpack[postfuncs] += "prune_sources"
110# V8's JIT infrastructure requires binaries such as mksnapshot and 98# V8's JIT infrastructure requires binaries such as mksnapshot and
111# mkpeephole to be run in the host during the build. However, these 99# mkpeephole to be run in the host during the build. However, these
112# binaries must have the same bit-width as the target (e.g. a x86_64 100# binaries must have the same bit-width as the target (e.g. a x86_64
113# host targeting ARMv6 needs to produce a 32-bit binary). Instead of 101# host targeting ARMv6 needs to produce a 32-bit binary).
114# depending on a third Yocto toolchain, we just build those binaries 102# 1. If host and target have the different bit width, run those
115# for the target and run them on the host with QEMU. 103# binaries for the target and run them on the host with QEMU.
104# 2. If host and target have the same bit width, enable upstream
105# cross compile support and no QEMU
116python do_create_v8_qemu_wrapper () { 106python do_create_v8_qemu_wrapper () {
117 """Creates a small wrapper that invokes QEMU to run some target V8 binaries 107 """Creates a small wrapper that invokes QEMU to run some target V8 binaries
118 on the host.""" 108 on the host."""
@@ -120,6 +110,10 @@ python do_create_v8_qemu_wrapper () {
120 d.expand('${STAGING_DIR_HOST}${base_libdir}')] 110 d.expand('${STAGING_DIR_HOST}${base_libdir}')]
121 qemu_cmd = qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'), 111 qemu_cmd = qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'),
122 qemu_libdirs) 112 qemu_libdirs)
113
114 if d.getVar("HOST_AND_TARGET_SAME_WIDTH") == "1":
115 qemu_cmd = ""
116
123 wrapper_path = d.expand('${B}/v8-qemu-wrapper.sh') 117 wrapper_path = d.expand('${B}/v8-qemu-wrapper.sh')
124 with open(wrapper_path, 'w') as wrapper_file: 118 with open(wrapper_path, 'w') as wrapper_file:
125 wrapper_file.write("""#!/bin/sh 119 wrapper_file.write("""#!/bin/sh
@@ -138,6 +132,14 @@ addtask create_v8_qemu_wrapper after do_configure before do_compile
138 132
139LDFLAGS:append:x86 = " -latomic" 133LDFLAGS:append:x86 = " -latomic"
140 134
135export CC_host
136export CFLAGS_host
137export CXX_host
138export CXXFLAGS_host
139export LDFLAGS_host
140export AR_host
141export HOST_AND_TARGET_SAME_WIDTH
142
141CROSS_FLAGS = "--cross-compiling" 143CROSS_FLAGS = "--cross-compiling"
142CROSS_FLAGS:class-native = "--no-cross-compiling" 144CROSS_FLAGS:class-native = "--no-cross-compiling"
143 145
@@ -179,4 +181,36 @@ RDEPENDS:${PN}-npm = "bash python3-core python3-shell python3-datetime \
179PACKAGES =+ "${PN}-systemtap" 181PACKAGES =+ "${PN}-systemtap"
180FILES:${PN}-systemtap = "${datadir}/systemtap" 182FILES:${PN}-systemtap = "${datadir}/systemtap"
181 183
184do_configure[prefuncs] += "set_gyp_variables"
185do_compile[prefuncs] += "set_gyp_variables"
186do_install[prefuncs] += "set_gyp_variables"
187python set_gyp_variables () {
188 if d.getVar("HOST_AND_TARGET_SAME_WIDTH") == "0":
189 # We don't want to cross-compile during target compile,
190 # and we need to use the right flags during host compile,
191 # too.
192 d.setVar("CC_host", d.getVar("CC") + " -pie -fPIE")
193 d.setVar("CFLAGS_host", d.getVar("CFLAGS"))
194 d.setVar("CXX_host", d.getVar("CXX") + " -pie -fPIE")
195 d.setVar("CXXFLAGS_host", d.getVar("CXXFLAGS"))
196 d.setVar("LDFLAGS_host", d.getVar("LDFLAGS"))
197 d.setVar("AR_host", d.getVar("AR"))
198 elif d.getVar("HOST_AND_TARGET_SAME_WIDTH") == "1":
199 # Enable upstream cross compile support
200 d.setVar("CC_host", d.getVar("BUILD_CC"))
201 d.setVar("CFLAGS_host", d.getVar("BUILD_CFLAGS"))
202 d.setVar("CXX_host", d.getVar("BUILD_CXX"))
203 d.setVar("CXXFLAGS_host", d.getVar("BUILD_CXXFLAGS"))
204 d.setVar("LDFLAGS_host", d.getVar("BUILD_LDFLAGS"))
205 d.setVar("AR_host", d.getVar("BUILD_AR"))
206}
207
208python __anonymous () {
209 # 32 bit target and 64 bit host (x86-64 or aarch64) have different bit width
210 if d.getVar("SITEINFO_BITS") == "32" and "64" in d.getVar("BUILD_ARCH"):
211 d.setVar("HOST_AND_TARGET_SAME_WIDTH", "0")
212 else:
213 d.setVar("HOST_AND_TARGET_SAME_WIDTH", "1")
214}
215
182BBCLASSEXTEND = "native" 216BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/openocd/openocd/0001-Makefile.am-Use-SOURCE_DATE_EPOCH-environment-variab.patch b/meta-oe/recipes-devtools/openocd/openocd/0001-Makefile.am-Use-SOURCE_DATE_EPOCH-environment-variab.patch
new file mode 100644
index 0000000000..a7d7552d5a
--- /dev/null
+++ b/meta-oe/recipes-devtools/openocd/openocd/0001-Makefile.am-Use-SOURCE_DATE_EPOCH-environment-variab.patch
@@ -0,0 +1,38 @@
1From 65969a2b73ce93db4c80f1706677351b0e57fa72 Mon Sep 17 00:00:00 2001
2From: Sofiane HAMAM <sofiane.hamam@smile.fr>
3Date: Fri, 28 Mar 2025 12:31:17 +0100
4Subject: [PATCH] Makefile.am: Use SOURCE_DATE_EPOCH environment variable
5
6This package defines PKGBLDDATE as build timestamp which makes
7it non reproducible. Use SOURCE_DATE_EPOCH if it is found, otherwise
8use build timestamp. Following best practices, see :
9https://reproducible-builds.org/docs/source-date-epoch/
10
11The patch is BSD compatible too.
12
13Change-Id: I26c1a00f2e8059ae31fe72a794b5962af5a84f44
14Co-developed-by: Yoann Congal <yoann.congal@smile.fr>
15Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
16Signed-off-by: Sofiane HAMAM <sofiane.hamam@smile.fr>
17
18Upstream-Status: Backport [https://repo.or.cz/openocd.git?a=commit;h=6834f022b96fb1c7f5829166578e01a0ac223cb0]
19---
20 src/Makefile.am | 5 ++++-
21 1 file changed, 4 insertions(+), 1 deletion(-)
22
23diff --git a/src/Makefile.am b/src/Makefile.am
24index 6d79cd631..9ca697407 100644
25--- a/src/Makefile.am
26+++ b/src/Makefile.am
27@@ -30,7 +30,10 @@ if RELEASE
28 else
29 %C%_libopenocd_la_CPPFLAGS += -DRELSTR=\"`$(top_srcdir)/guess-rev.sh $(top_srcdir)`\"
30 %C%_libopenocd_la_CPPFLAGS += -DGITVERSION=\"`cd $(top_srcdir) && git describe`\"
31-%C%_libopenocd_la_CPPFLAGS += -DPKGBLDDATE=\"`date +%F-%R`\"
32+%C%_libopenocd_la_CPPFLAGS += -DPKGBLDDATE=\"`DATE_FMT=+%F-%R; \
33+ SOURCE_DATE_EPOCH="$${SOURCE_DATE_EPOCH:-$$(date +%s)}"; \
34+ date -u -d "@$$SOURCE_DATE_EPOCH" "$$DATE_FMT" 2>/dev/null || \
35+ date -u -r "$$SOURCE_DATE_EPOCH" "$$DATE_FMT" 2>/dev/null || date -u "$$DATE_FMT"`\"
36 endif
37
38 # add default CPPFLAGS
diff --git a/meta-oe/recipes-devtools/openocd/openocd_git.bb b/meta-oe/recipes-devtools/openocd/openocd_git.bb
index 559fe29ff8..3bbe33ca1d 100644
--- a/meta-oe/recipes-devtools/openocd/openocd_git.bb
+++ b/meta-oe/recipes-devtools/openocd/openocd_git.bb
@@ -7,8 +7,9 @@ RDEPENDS:${PN} = "libusb1"
7SRC_URI = " \ 7SRC_URI = " \
8 git://repo.or.cz/openocd.git;protocol=http;name=openocd;branch=master \ 8 git://repo.or.cz/openocd.git;protocol=http;name=openocd;branch=master \
9 git://repo.or.cz/r/git2cl.git;protocol=http;destsuffix=tools/git2cl;name=git2cl;branch=master \ 9 git://repo.or.cz/r/git2cl.git;protocol=http;destsuffix=tools/git2cl;name=git2cl;branch=master \
10 git://github.com/msteveb/jimtcl.git;protocol=https;destsuffix=git/jimtcl;name=jimtcl;branch=master \ 10 git://github.com/msteveb/jimtcl.git;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/jimtcl;name=jimtcl;branch=master \
11 git://repo.or.cz/r/libjaylink.git;protocol=http;destsuffix=git/src/jtag/drivers/libjaylink;name=libjaylink;branch=master \ 11 git://repo.or.cz/r/libjaylink.git;protocol=http;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/src/jtag/drivers/libjaylink;name=libjaylink;branch=master \
12 file://0001-Makefile.am-Use-SOURCE_DATE_EPOCH-environment-variab.patch \
12" 13"
13 14
14SRCREV_FORMAT = "openocd" 15SRCREV_FORMAT = "openocd"
@@ -18,7 +19,6 @@ SRCREV_jimtcl = "fcbb4499a6b46ef69e7a95da53e30796e20817f0"
18SRCREV_libjaylink = "9aa7a5957c07bb6e862fc1a6d3153d109c7407e4" 19SRCREV_libjaylink = "9aa7a5957c07bb6e862fc1a6d3153d109c7407e4"
19 20
20PV = "0.12+git" 21PV = "0.12+git"
21S = "${WORKDIR}/git"
22 22
23inherit pkgconfig autotools-brokensep gettext 23inherit pkgconfig autotools-brokensep gettext
24 24
diff --git a/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb b/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb
index 4a0383e0a1..ee7674a0c7 100644
--- a/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb
+++ b/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb
@@ -21,5 +21,5 @@ RDEPENDS:${PN} = "gcc-symlinks g++-symlinks cpp cpp-symlinks \
21 libtool libtool-dev \ 21 libtool libtool-dev \
22 pkgconfig" 22 pkgconfig"
23 23
24# usefull, but not in oe-core/meta-oe yet: patchutils 24# useful, but not in oe-core/meta-oe yet: patchutils
25RRECOMMENDS:${PN} = " g77-symlinks gfortran-symlinks" 25RRECOMMENDS:${PN} = "${@bb.utils.contains('FORTRAN', ',fortran', 'gfortran gfortran-symlinks', '', d)}"
diff --git a/meta-oe/recipes-devtools/pahole/files/0002-Use-usr-bin-env-python3-instead-of-just-usr-bin-pyth.patch b/meta-oe/recipes-devtools/pahole/files/0001-Use-usr-bin-env-python3-instead-of-just-usr-bin-pyth.patch
index 4f7dfd4cca..7dc18d7aa2 100644
--- a/meta-oe/recipes-devtools/pahole/files/0002-Use-usr-bin-env-python3-instead-of-just-usr-bin-pyth.patch
+++ b/meta-oe/recipes-devtools/pahole/files/0001-Use-usr-bin-env-python3-instead-of-just-usr-bin-pyth.patch
@@ -4,7 +4,6 @@ Date: Wed, 15 Sep 2021 17:54:01 +0200
4Subject: [PATCH] Use /usr/bin/env python3 instead of just /usr/bin/python3 4Subject: [PATCH] Use /usr/bin/env python3 instead of just /usr/bin/python3
5 5
6Upstream-Status: Inappropriate [OE specific] 6Upstream-Status: Inappropriate [OE specific]
7
8--- 7---
9 ostra/ostra-cg | 2 +- 8 ostra/ostra-cg | 2 +-
10 ostra/python/ostra.py | 2 +- 9 ostra/python/ostra.py | 2 +-
diff --git a/meta-oe/recipes-devtools/pahole/pahole_1.25.bb b/meta-oe/recipes-devtools/pahole/pahole_1.29.bb
index 1334c850e6..aca915bf32 100644
--- a/meta-oe/recipes-devtools/pahole/pahole_1.25.bb
+++ b/meta-oe/recipes-devtools/pahole/pahole_1.29.bb
@@ -7,17 +7,16 @@ DEPENDS = "elfutils zlib libbpf"
7 7
8# Depends on MACHINE_ARCH libbpf 8# Depends on MACHINE_ARCH libbpf
9PACKAGE_ARCH = "${MACHINE_ARCH}" 9PACKAGE_ARCH = "${MACHINE_ARCH}"
10COMPATIBLE_HOST = "(x86_64|i.86|aarch64).*-linux" 10COMPATIBLE_HOST = "(x86_64|i.86|arm|aarch64|riscv64|powerpc|powerpc64|mips64).*-linux"
11 11
12SRCREV = "81558a5a996005df0d607dd33f74ec5b7bdb619d" 12SRCREV = "b9cc7963051b2099795129450f9b70c81950d02f"
13SRC_URI = "git://git.kernel.org/pub/scm/devel/pahole/pahole.git;branch=master \ 13SRC_URI = "git://git.kernel.org/pub/scm/devel/pahole/pahole.git;branch=master \
14 file://0002-Use-usr-bin-env-python3-instead-of-just-usr-bin-pyth.patch" 14 file://0001-Use-usr-bin-env-python3-instead-of-just-usr-bin-pyth.patch"
15 15
16S = "${WORKDIR}/git"
17 16
18inherit cmake pkgconfig 17inherit cmake pkgconfig
19 18
20PACKAGECONFIG[python3] = ",,python3-core,python3-core" 19PACKAGECONFIG[python3] = ",,python3,python3-core"
21 20
22EXTRA_OECMAKE = "-D__LIB=${@os.path.relpath(d.getVar('libdir'), d.getVar('prefix') + '/')} -DCMAKE_BUILD_TYPE=Release -DLIBBPF_EMBEDDED=OFF" 21EXTRA_OECMAKE = "-D__LIB=${@os.path.relpath(d.getVar('libdir'), d.getVar('prefix') + '/')} -DCMAKE_BUILD_TYPE=Release -DLIBBPF_EMBEDDED=OFF"
23 22
diff --git a/meta-oe/recipes-devtools/pax-utils/pax-utils_1.3.3.bb b/meta-oe/recipes-devtools/pax-utils/pax-utils_1.3.3.bb
index d512c85704..4e80ca87ee 100644
--- a/meta-oe/recipes-devtools/pax-utils/pax-utils_1.3.3.bb
+++ b/meta-oe/recipes-devtools/pax-utils/pax-utils_1.3.3.bb
@@ -30,6 +30,6 @@ PACKAGECONFIG ??= ""
30 30
31PACKAGECONFIG[libcap] = "--with-caps, --without-caps, libcap" 31PACKAGECONFIG[libcap] = "--with-caps, --without-caps, libcap"
32PACKAGECONFIG[libseccomp] = "--with-seccomp, --without-seccomp, libseccomp" 32PACKAGECONFIG[libseccomp] = "--with-seccomp, --without-seccomp, libseccomp"
33PACKAGECONFIG[pyelftools] = "--with-python, --without-python,, pyelftools" 33PACKAGECONFIG[pyelftools] = "--with-python, --without-python,, python3-pyelftools"
34 34
35EXTRA_OECONF += "--enable-largefile" 35EXTRA_OECONF += "--enable-largefile"
diff --git a/meta-oe/recipes-devtools/pcimem/pcimem_2.0.bb b/meta-oe/recipes-devtools/pcimem/pcimem_2.0.bb
index 85c4fa95ae..130980b0cd 100644
--- a/meta-oe/recipes-devtools/pcimem/pcimem_2.0.bb
+++ b/meta-oe/recipes-devtools/pcimem/pcimem_2.0.bb
@@ -10,7 +10,9 @@ COMPATIBLE_HOST = "(x86_64|aarch64|arm|riscv64)"
10SRCREV = "09724edb1783a98da2b7ae53c5aaa87493aabc9b" 10SRCREV = "09724edb1783a98da2b7ae53c5aaa87493aabc9b"
11SRC_URI = "git://github.com/billfarrow/pcimem.git;branch=master;protocol=https" 11SRC_URI = "git://github.com/billfarrow/pcimem.git;branch=master;protocol=https"
12 12
13S = "${WORKDIR}/git" 13# Upstream repo does not tag
14UPSTREAM_CHECK_COMMITS = "1"
15
14 16
15do_install() { 17do_install() {
16 install -D -m 0755 ${B}/pcimem ${D}${bindir}/pcimem 18 install -D -m 0755 ${B}/pcimem ${D}${bindir}/pcimem
diff --git a/meta-oe/recipes-devtools/perfetto/files/0001-Add-missing-header-cstdint-for-uintXX_t-types.patch b/meta-oe/recipes-devtools/perfetto/files/0001-Add-missing-header-cstdint-for-uintXX_t-types.patch
deleted file mode 100644
index d08721ae65..0000000000
--- a/meta-oe/recipes-devtools/perfetto/files/0001-Add-missing-header-cstdint-for-uintXX_t-types.patch
+++ /dev/null
@@ -1,58 +0,0 @@
1From e63949205682bbd2a0e33e256119472d704a2549 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 29 Jan 2023 22:03:01 -0800
4Subject: [PATCH] Add missing header <cstdint> for uintXX_t types
5
6This is detected by gcc-13
7gcc 13 moved some includes around and as a result <cstdint> is no
8longer transitively included [1]. Explicitly include it for uintXX_t.
9
10[1] https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes
11
12Upstream-Status: Submitted [https://android-review.googlesource.com/c/platform/external/perfetto/+/2399128]
13Signed-off-by: Khem Raj <raj.khem@gmail.com>
14---
15 include/perfetto/ext/base/http/sha1.h | 1 +
16 include/perfetto/ext/base/uuid.h | 1 +
17 src/traced/probes/common/cpu_freq_info.h | 1 +
18 3 files changed, 3 insertions(+)
19
20diff --git a/include/perfetto/ext/base/http/sha1.h b/include/perfetto/ext/base/http/sha1.h
21index c583d69d4..7e3a48c83 100644
22--- a/include/perfetto/ext/base/http/sha1.h
23+++ b/include/perfetto/ext/base/http/sha1.h
24@@ -20,6 +20,7 @@
25 #include <stddef.h>
26
27 #include <array>
28+#include <cstdint>
29 #include <string>
30
31 namespace perfetto {
32diff --git a/include/perfetto/ext/base/uuid.h b/include/perfetto/ext/base/uuid.h
33index 1b4c53815..472042fab 100644
34--- a/include/perfetto/ext/base/uuid.h
35+++ b/include/perfetto/ext/base/uuid.h
36@@ -18,6 +18,7 @@
37 #define INCLUDE_PERFETTO_EXT_BASE_UUID_H_
38
39 #include <array>
40+#include <cstdint>
41 #include <string>
42
43 #include "perfetto/ext/base/optional.h"
44diff --git a/src/traced/probes/common/cpu_freq_info.h b/src/traced/probes/common/cpu_freq_info.h
45index 36f7f9c09..8232cbf64 100644
46--- a/src/traced/probes/common/cpu_freq_info.h
47+++ b/src/traced/probes/common/cpu_freq_info.h
48@@ -17,6 +17,7 @@
49 #ifndef SRC_TRACED_PROBES_COMMON_CPU_FREQ_INFO_H_
50 #define SRC_TRACED_PROBES_COMMON_CPU_FREQ_INFO_H_
51
52+#include <cstdint>
53 #include <map>
54 #include <string>
55 #include <vector>
56--
572.39.1
58
diff --git a/meta-oe/recipes-devtools/perfetto/files/0001-fix-musl-build.patch b/meta-oe/recipes-devtools/perfetto/files/0001-fix-musl-build.patch
new file mode 100644
index 0000000000..3b7ca951ae
--- /dev/null
+++ b/meta-oe/recipes-devtools/perfetto/files/0001-fix-musl-build.patch
@@ -0,0 +1,40 @@
1From 485c21940eb0100a33b7efea40a83e7f79e765f8 Mon Sep 17 00:00:00 2001
2From: Etienne Cordonnier <ecordonnier@snap.com>
3Date: Sun, 22 Sep 2024 20:17:52 +0200
4Subject: [PATCH] fix musl build
5
6Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
7---
8Upstream-Status: Pending
9
10 sdk/perfetto.cc | 1 -
11 src/base/utils.cc | 1 -
12 2 files changed, 2 deletions(-)
13
14diff --git a/sdk/perfetto.cc b/sdk/perfetto.cc
15index b10dd5aa92..2eb90f0d15 100644
16--- a/sdk/perfetto.cc
17+++ b/sdk/perfetto.cc
18@@ -6558,7 +6558,6 @@ std::optional<int32_t> GetTimezoneOffsetMins() {
19
20 #if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
21 PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
22-#include <linux/prctl.h>
23 #include <sys/prctl.h>
24
25 #ifndef PR_GET_TAGGED_ADDR_CTRL
26diff --git a/src/base/utils.cc b/src/base/utils.cc
27index 0d9318c136..419c7dbc1a 100644
28--- a/src/base/utils.cc
29+++ b/src/base/utils.cc
30@@ -40,7 +40,6 @@
31
32 #if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
33 PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
34-#include <linux/prctl.h>
35 #include <sys/prctl.h>
36
37 #ifndef PR_GET_TAGGED_ADDR_CTRL
38--
392.43.0
40
diff --git a/meta-oe/recipes-devtools/perfetto/libperfetto.bb b/meta-oe/recipes-devtools/perfetto/libperfetto.bb
index c8f56fd527..8383db3cc0 100644
--- a/meta-oe/recipes-devtools/perfetto/libperfetto.bb
+++ b/meta-oe/recipes-devtools/perfetto/libperfetto.bb
@@ -1,5 +1,5 @@
1LICENSE = "Apache-2.0" 1LICENSE = "Apache-2.0"
2LIC_FILES_CHKSUM = "file://LICENSE;md5=f87516e0b698007e9e75a1fe1012b390" 2LIC_FILES_CHKSUM = "file://LICENSE;md5=d2572d98547d43906b53615f856a8c2d"
3 3
4require perfetto.inc 4require perfetto.inc
5 5
diff --git a/meta-oe/recipes-devtools/perfetto/files/0001-meson-add-pc-file-for-lib_perfetto.patch b/meta-oe/recipes-devtools/perfetto/libperfetto/0001-meson-add-pc-file-for-lib_perfetto.patch
index ae644747c1..719663a802 100644
--- a/meta-oe/recipes-devtools/perfetto/files/0001-meson-add-pc-file-for-lib_perfetto.patch
+++ b/meta-oe/recipes-devtools/perfetto/libperfetto/0001-meson-add-pc-file-for-lib_perfetto.patch
@@ -3,21 +3,22 @@ From: Markus Volk <f_l_k@t-online.de>
3Date: Mon, 17 Oct 2022 19:20:53 +0200 3Date: Mon, 17 Oct 2022 19:20:53 +0200
4Subject: [PATCH] meson: add PC file for lib_perfetto 4Subject: [PATCH] meson: add PC file for lib_perfetto
5 5
6Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
6--- 7---
7Upstream-Status: Pending 8Upstream-Status: Pending
8 9
9 meson.build | 12 ++++++++++-- 10 meson.build | 10 +++++++++-
10 1 file changed, 10 insertions(+), 2 deletions(-) 11 1 file changed, 9 insertions(+), 1 deletion(-)
11 12
13diff --git a/meson.build b/meson.build
14index 8fb1e26275..3ef3ebf27d 100644
12--- a/meson.build 15--- a/meson.build
13+++ b/meson.build 16+++ b/meson.build
14@@ -19,9 +19,12 @@ 17@@ -19,8 +19,11 @@
15 project( 18 project(
16 'perfetto', 19 'perfetto',
17 ['cpp'], 20 ['cpp'],
18- default_options: ['cpp_std=c++17'] 21+ version: '47.0'
19+ default_options: ['cpp_std=c++17'],
20+ version: '31.0'
21 ) 22 )
22 23
23+soversion = meson.project_version() 24+soversion = meson.project_version()
@@ -25,7 +26,7 @@ Upstream-Status: Pending
25 fs = import('fs') 26 fs = import('fs')
26 27
27 if not fs.is_dir('sdk') 28 if not fs.is_dir('sdk')
28@@ -36,8 +39,9 @@ if host_machine.system() == 'android' 29@@ -35,8 +38,9 @@ if host_machine.system() == 'android'
29 deps_perfetto += cpp.find_library('log') 30 deps_perfetto += cpp.find_library('log')
30 endif 31 endif
31 32
@@ -36,7 +37,7 @@ Upstream-Status: Pending
36 sources: 'sdk/perfetto.cc', 37 sources: 'sdk/perfetto.cc',
37 dependencies: deps_perfetto, 38 dependencies: deps_perfetto,
38 install: true, 39 install: true,
39@@ -50,6 +54,10 @@ dir_perfetto_trace = join_paths(meson.cu 40@@ -50,6 +54,10 @@ dir_perfetto_trace = join_paths(meson.current_source_dir(),
40 41
41 install_data(dir_perfetto_trace / 'perfetto_trace.proto') 42 install_data(dir_perfetto_trace / 'perfetto_trace.proto')
42 43
@@ -47,3 +48,6 @@ Upstream-Status: Pending
47 dep_perfetto = declare_dependency( 48 dep_perfetto = declare_dependency(
48 link_with: lib_perfetto, 49 link_with: lib_perfetto,
49 include_directories: inc_perfetto, 50 include_directories: inc_perfetto,
51--
522.43.0
53
diff --git a/meta-oe/recipes-devtools/perfetto/perfetto.bb b/meta-oe/recipes-devtools/perfetto/perfetto.bb
index 7e9408b0b2..e284ec8d1e 100644
--- a/meta-oe/recipes-devtools/perfetto/perfetto.bb
+++ b/meta-oe/recipes-devtools/perfetto/perfetto.bb
@@ -1,46 +1,51 @@
1LICENSE = "Apache-2.0 & BSD-3-Clause & MIT & Zlib" 1LICENSE = "Apache-2.0 & BSD-3-Clause & MIT & Zlib"
2 2
3LIC_FILES_CHKSUM = "file://LICENSE;md5=f87516e0b698007e9e75a1fe1012b390 \ 3LIC_FILES_CHKSUM = "file://LICENSE;md5=d2572d98547d43906b53615f856a8c2d \
4 file://buildtools/libcxx/LICENSE.TXT;md5=55d89dd7eec8d3b4204b680e27da3953 \ 4 file://buildtools/libcxx/LICENSE.TXT;md5=55d89dd7eec8d3b4204b680e27da3953 \
5 file://buildtools/libcxxabi/LICENSE.TXT;md5=7b9334635b542c56868400a46b272b1e \ 5 file://buildtools/libcxxabi/LICENSE.TXT;md5=7b9334635b542c56868400a46b272b1e \
6 file://buildtools/libunwind/LICENSE.TXT;md5=f66970035d12f196030658b11725e1a1 \ 6 file://buildtools/libunwind/LICENSE.TXT;md5=f66970035d12f196030658b11725e1a1 \
7 file://buildtools/protobuf/LICENSE;md5=37b5762e07f0af8c74ce80a8bda4266b \ 7 file://buildtools/protobuf/LICENSE;md5=37b5762e07f0af8c74ce80a8bda4266b \
8 file://buildtools/zlib/LICENSE;md5=f09575dbfb09420642318b413159496f \ 8 file://buildtools/zlib/LICENSE;md5=8c75f2b4df47a77f9445315a9500cd1c \
9 file://debian/copyright;md5=4e08364c82141f181de69d0a2b89d612 \ 9 file://debian/copyright;md5=4e08364c82141f181de69d0a2b89d612 \
10 file://python/LICENSE;md5=c602a632c34ade9c78a976734077bce7" 10 file://python/LICENSE;md5=c602a632c34ade9c78a976734077bce7"
11 11
12# Dependencies from perfetto/tools/install-build-deps
12SRC_URI:append = " \ 13SRC_URI:append = " \
13 git://github.com/protocolbuffers/protobuf.git;branch=3.9.x;protocol=https;destsuffix=git/buildtools/protobuf;name=protobuf \ 14 git://github.com/protocolbuffers/protobuf.git;branch=main;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/buildtools/protobuf;name=protobuf \
14 git://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git;protocol=https;destsuffix=git/buildtools/libcxx;branch=main;name=libcxx \ 15 git://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/buildtools/libcxx;branch=main;name=libcxx \
15 git://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git;protocol=https;destsuffix=git/buildtools/libcxxabi;branch=main;name=libcxxabi \ 16 git://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/buildtools/libcxxabi;branch=main;name=libcxxabi \
16 git://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git;protocol=https;destsuffix=git/buildtools/libunwind;branch=main;name=libunwind \ 17 git://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/buildtools/libunwind;branch=main;name=libunwind \
17 git://android.googlesource.com/platform/system/libbase.git;branch=master;protocol=https;destsuffix=git/buildtools/android-libbase;name=libbase \ 18 git://android.googlesource.com/platform/system/libbase.git;branch=master;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/buildtools/android-libbase;name=libbase \
18 git://android.googlesource.com/platform/system/unwinding.git;branch=master;protocol=https;destsuffix=git/buildtools/android-unwinding;name=unwinding \ 19 git://android.googlesource.com/platform/system/unwinding.git;branch=master;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/buildtools/android-unwinding;name=unwinding \
19 git://android.googlesource.com/platform/system/logging.git;branch=master;protocol=https;destsuffix=git/buildtools/android-logging;name=logging \ 20 git://android.googlesource.com/platform/system/logging.git;branch=master;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/buildtools/android-logging;name=logging \
20 git://android.googlesource.com/platform/system/libprocinfo.git;branch=master;protocol=https;destsuffix=git/buildtools/android-libprocinfo;name=libprocinfo \ 21 git://android.googlesource.com/platform/system/libprocinfo.git;branch=master;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/buildtools/android-libprocinfo;name=libprocinfo \
21 git://android.googlesource.com/platform/system/core.git;branch=master;protocol=https;destsuffix=git/buildtools/android-core;name=core \ 22 git://android.googlesource.com/platform/system/core.git;branch=master;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/buildtools/android-core;name=core \
22 git://android.googlesource.com/platform/bionic.git;branch=master;protocol=https;destsuffix=git/buildtools/bionic;name=bionic \ 23 git://android.googlesource.com/platform/bionic.git;branch=master;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/buildtools/bionic;name=bionic \
23 git://android.googlesource.com/platform/external/zlib.git;branch=master;protocol=https;destsuffix=git/buildtools/zlib;name=zlib \ 24 git://android.googlesource.com/platform/external/zlib.git;branch=master;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/buildtools/zlib;name=zlib \
24 git://android.googlesource.com/platform/external/lzma.git;branch=master;protocol=https;destsuffix=git/buildtools/lzma;name=lzma \ 25 git://android.googlesource.com/platform/external/lzma.git;branch=master;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/buildtools/lzma;name=lzma \
25 https://storage.googleapis.com/perfetto/gn-linux64-1968-0725d782;subdir=git/buildtools/;name=gn \ 26 git://android.googlesource.com/platform/external/zstd.git;branch=master;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/buildtools/zstd;name=zstd \
27 https://storage.googleapis.com/perfetto/gn-linux64-1968-0725d782;subdir=${BB_GIT_DEFAULT_DESTSUFFIX}/buildtools/;name=gn \
26 \ 28 \
27 file://0001-Remove-check_build_deps-build-steps.patch \ 29 file://0001-Remove-check_build_deps-build-steps.patch \
28 file://0001-Add-missing-header-cstdint-for-uintXX_t-types.patch" 30 file://0002-traced-fix-missing-include.patch \
31 file://0001-add-missing-includes-for-the-build-with-use_libcxx_m.patch \
32 "
29 33
30SRCREV_bionic = "4b0e16bc72a82a63c699977376a7d6eadca1b206" 34SRCREV_bionic = "a0d0355105cb9d4a4b5384897448676133d7b8e2"
31SRCREV_core = "9e6cef7f07d8c11b3ea820938aeb7ff2e9dbaa52" 35SRCREV_core = "9e6cef7f07d8c11b3ea820938aeb7ff2e9dbaa52"
32SRCREV_lzma = "7851dce6f4ca17f5caa1c93a4e0a45686b1d56c3" 36SRCREV_lzma = "7851dce6f4ca17f5caa1c93a4e0a45686b1d56c3"
33SRCREV_libprocinfo = "fd214c13ededecae97a3b15b5fccc8925a749a84" 37SRCREV_libprocinfo = "fd214c13ededecae97a3b15b5fccc8925a749a84"
34SRCREV_logging = "7b36b566c9113fc703d68f76e8f40c0c2432481c" 38SRCREV_logging = "7b36b566c9113fc703d68f76e8f40c0c2432481c"
35SRCREV_unwinding = "d66882575ebe3700d6a6b10185f3aee28acc1051" 39SRCREV_unwinding = "4b59ea8471e89d01300481a92de3230b79b6d7c7"
36SRCREV_protobuf = "6a59a2ad1f61d9696092f79b6d74368b4d7970a3" 40SRCREV_protobuf = "f0dc78d7e6e331b8c6bb2d5283e06aa26883ca7c"
37SRCREV_libbase = "78f1c2f83e625bdf66d55b48bdb3a301c20d2fb3" 41SRCREV_libbase = "78f1c2f83e625bdf66d55b48bdb3a301c20d2fb3"
38SRCREV_libcxx = "f8571eaba606bde2eb8cd34b30104ca33e7c207e" 42SRCREV_libcxx = "852bc6746f45add53fec19f3a29280e69e358d44"
39SRCREV_libcxxabi = "8dd405113a4f3694e910b79785dd7fb7535a888a" 43SRCREV_libcxxabi = "a37a3aa431f132b02a58656f13984d51098330a2"
40SRCREV_libunwind = "aabcd8753678f1536e15eb6385a948470debdae4" 44SRCREV_libunwind = "419b03c0b8f20d6da9ddcb0d661a94a97cdd7dad"
41SRCREV_zlib = "5c85a2da4c13eda07f69d81a1579a5afddd35f59" 45SRCREV_zlib = "6d3f6aa0f87c9791ca7724c279ef61384f331dfd"
46SRCREV_zstd = "77211fcc5e08c781734a386402ada93d0d18d093"
42 47
43SRCREV_FORMAT .="_bionic_core_lzma_libprocinfo_logging_unwinding_protobuf_libbase_libcxx_libcxxabi_libunwind_zlib" 48SRCREV_FORMAT .= "_bionic_core_lzma_libprocinfo_logging_unwinding_protobuf_libbase_libcxx_libcxxabi_libunwind_zlib_zstd"
44 49
45SRC_URI[gn.sha256sum] = "f706aaa0676e3e22f5fc9ca482295d7caee8535d1869f99efa2358177b64f5cd" 50SRC_URI[gn.sha256sum] = "f706aaa0676e3e22f5fc9ca482295d7caee8535d1869f99efa2358177b64f5cd"
46 51
@@ -96,8 +101,8 @@ do_configure () {
96 101
97 ARGS=$ARGS" target_os=\"linux\"" 102 ARGS=$ARGS" target_os=\"linux\""
98 ARGS=$ARGS" target_cpu=\"$arch\"" 103 ARGS=$ARGS" target_cpu=\"$arch\""
99 ARGS=$ARGS" target_cc=\"$CC_BIN ${TUNE_CCARGS}\"" 104 ARGS=$ARGS" target_cc=\"$CC_BIN ${TUNE_CCARGS} ${DEBUG_PREFIX_MAP}\""
100 ARGS=$ARGS" target_cxx=\"$CXX_BIN -std=c++11 ${TUNE_CCARGS}\"" 105 ARGS=$ARGS" target_cxx=\"$CXX_BIN ${TUNE_CCARGS} ${DEBUG_PREFIX_MAP}\""
101 ARGS=$ARGS" target_strip=\"$STRIP_BIN\"" # 106 ARGS=$ARGS" target_strip=\"$STRIP_BIN\"" #
102 ARGS=$ARGS" target_sysroot=\"${RECIPE_SYSROOT}\"" 107 ARGS=$ARGS" target_sysroot=\"${RECIPE_SYSROOT}\""
103 ARGS=$ARGS" target_linker=\"$CC_BIN ${TUNE_CCARGS} ${LDFLAGS}\"" 108 ARGS=$ARGS" target_linker=\"$CC_BIN ${TUNE_CCARGS} ${LDFLAGS}\""
diff --git a/meta-oe/recipes-devtools/perfetto/perfetto.inc b/meta-oe/recipes-devtools/perfetto/perfetto.inc
index 4b06c5bf04..1c7e9144cc 100644
--- a/meta-oe/recipes-devtools/perfetto/perfetto.inc
+++ b/meta-oe/recipes-devtools/perfetto/perfetto.inc
@@ -1,10 +1,12 @@
1SUMMARY = "Perfetto - System profiling, app tracing and trace analysis." 1SUMMARY = "Perfetto - System profiling, app tracing and trace analysis."
2HOMEPAGE = "https://github.com/google/perfetto" 2HOMEPAGE = "https://github.com/google/perfetto"
3 3
4SRC_URI = "git://github.com/google/perfetto.git;protocol=https;name=perfetto;nobranch=1" 4# Add only patches here which are used by both perfetto and libperfetto
5SRC_URI = "git://github.com/google/perfetto.git;protocol=https;name=perfetto;nobranch=1 \
6 file://0001-fix-musl-build.patch \
7 "
5 8
6SRCREV_perfetto = "b8da07095979310818f0efde2ef3c69ea70d62c5" 9SRCREV_perfetto = "c74251226a8caa0b43377902ee06d2570faa0c15"
7SRCREV_FORMAT = "perfetto" 10SRCREV_FORMAT = "perfetto"
8PV = "31.0" 11PV = "47.0"
9 12
10S = "${WORKDIR}/git"
diff --git a/meta-oe/recipes-devtools/perfetto/files/0001-Remove-check_build_deps-build-steps.patch b/meta-oe/recipes-devtools/perfetto/perfetto/0001-Remove-check_build_deps-build-steps.patch
index c10400aef4..118c3aed4a 100644
--- a/meta-oe/recipes-devtools/perfetto/files/0001-Remove-check_build_deps-build-steps.patch
+++ b/meta-oe/recipes-devtools/perfetto/perfetto/0001-Remove-check_build_deps-build-steps.patch
@@ -1,4 +1,4 @@
1From 3b7091243ec03054ca8800b51b85a1c09e7e3075 Mon Sep 17 00:00:00 2001 1From 07ddc4b9b7a6fec73cdc295baba353944857212e Mon Sep 17 00:00:00 2001
2From: Sui Chen <suichen6@gmail.com> 2From: Sui Chen <suichen6@gmail.com>
3Date: Mon, 13 Jun 2022 17:46:49 +0000 3Date: Mon, 13 Jun 2022 17:46:49 +0000
4Subject: [PATCH] Remove "check_build_deps" build steps 4Subject: [PATCH] Remove "check_build_deps" build steps
@@ -11,6 +11,7 @@ Also setting "is_cross_compiling" to true, so that the host-side tools
11rather than the Bitbake-generated one. 11rather than the Bitbake-generated one.
12 12
13Signed-off-by: Sui Chen <suichen6@gmail.com> 13Signed-off-by: Sui Chen <suichen6@gmail.com>
14Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
14--- 15---
15Upstream-Status: Pending 16Upstream-Status: Pending
16 17
@@ -20,10 +21,10 @@ Upstream-Status: Pending
20 3 files changed, 9 insertions(+), 9 deletions(-) 21 3 files changed, 9 insertions(+), 9 deletions(-)
21 22
22diff --git a/gn/BUILD.gn b/gn/BUILD.gn 23diff --git a/gn/BUILD.gn b/gn/BUILD.gn
23index 8a7ca72a8..e4a2d39f0 100644 24index ed055ee700..ea79979ec5 100644
24--- a/gn/BUILD.gn 25--- a/gn/BUILD.gn
25+++ b/gn/BUILD.gn 26+++ b/gn/BUILD.gn
26@@ -111,7 +111,6 @@ group("default_deps") { 27@@ -117,7 +117,6 @@ group("default_deps") {
27 deps = [ ":gen_buildflags" ] 28 deps = [ ":gen_buildflags" ]
28 if (perfetto_build_standalone) { 29 if (perfetto_build_standalone) {
29 public_deps = [ 30 public_deps = [
@@ -32,10 +33,10 @@ index 8a7ca72a8..e4a2d39f0 100644
32 "//gn/standalone/sanitizers:deps", 33 "//gn/standalone/sanitizers:deps",
33 ] 34 ]
34diff --git a/gn/standalone/BUILD.gn b/gn/standalone/BUILD.gn 35diff --git a/gn/standalone/BUILD.gn b/gn/standalone/BUILD.gn
35index 582e9b867..9c77ac64c 100644 36index 36fb6371a5..f7bc97b1a6 100644
36--- a/gn/standalone/BUILD.gn 37--- a/gn/standalone/BUILD.gn
37+++ b/gn/standalone/BUILD.gn 38+++ b/gn/standalone/BUILD.gn
38@@ -441,10 +441,10 @@ config("android_liblog") { 39@@ -469,10 +469,10 @@ config("android_liblog") {
39 } 40 }
40 41
41 # Checks that tools/install-build-deps has been run since it last changed. 42 # Checks that tools/install-build-deps has been run since it last changed.
@@ -53,7 +54,7 @@ index 582e9b867..9c77ac64c 100644
53+# args = [ "--android" ] 54+# args = [ "--android" ]
54+#} 55+#}
55diff --git a/gn/standalone/BUILDCONFIG.gn b/gn/standalone/BUILDCONFIG.gn 56diff --git a/gn/standalone/BUILDCONFIG.gn b/gn/standalone/BUILDCONFIG.gn
56index 6f32686c1..c041989b0 100644 57index 05ed548f9d..94db724b2b 100644
57--- a/gn/standalone/BUILDCONFIG.gn 58--- a/gn/standalone/BUILDCONFIG.gn
58+++ b/gn/standalone/BUILDCONFIG.gn 59+++ b/gn/standalone/BUILDCONFIG.gn
59@@ -59,8 +59,9 @@ declare_args() { 60@@ -59,8 +59,9 @@ declare_args() {
@@ -67,7 +68,4 @@ index 6f32686c1..c041989b0 100644
67+ is_cross_compiling = true 68+ is_cross_compiling = true
68 } 69 }
69 default_configs = [ 70 default_configs = [
70 "//gn/standalone:debug_symbols", 71 "//gn/standalone:default",
71--
722.37.1
73
diff --git a/meta-oe/recipes-devtools/perfetto/perfetto/0001-add-missing-includes-for-the-build-with-use_libcxx_m.patch b/meta-oe/recipes-devtools/perfetto/perfetto/0001-add-missing-includes-for-the-build-with-use_libcxx_m.patch
new file mode 100644
index 0000000000..225810e511
--- /dev/null
+++ b/meta-oe/recipes-devtools/perfetto/perfetto/0001-add-missing-includes-for-the-build-with-use_libcxx_m.patch
@@ -0,0 +1,105 @@
1From 3953f56f98420e2ecb0e1c4542e20bfbb81da965 Mon Sep 17 00:00:00 2001
2From: Takuto Ikuta <tikuta@google.com>
3Date: Mon, 9 Dec 2024 18:45:36 +0900
4Subject: [PATCH] add missing includes for the build with use_libcxx_modules
5
6This is to fix build error when we set use_libcxx_modules=true in
7chromium build.
8
9Bug: 40440396
10Change-Id: I0cca5190c2c3551cc62bafafd12da9283e4afdd4
11
12Upstream-Status: Backport [3953f56 add missing includes for the build with use_libcxx_modules]
13- Removed some patches for files that do not exist in the current version v47.0
14
15Signed-off-by: mark.yang <mark.yang@lge.com>
16---
17
18diff --git a/include/perfetto/base/flat_set.h b/include/perfetto/base/flat_set.h
19index 9390537b39..5be590ea6b 100644
20--- a/include/perfetto/base/flat_set.h
21+++ b/include/perfetto/base/flat_set.h
22@@ -17,7 +17,10 @@
23 #ifndef INCLUDE_PERFETTO_BASE_FLAT_SET_H_
24 #define INCLUDE_PERFETTO_BASE_FLAT_SET_H_
25
26+#include <stddef.h>
27+
28 #include <algorithm>
29+#include <utility>
30 #include <vector>
31
32 // A vector-based set::set-like container.
33diff --git a/include/perfetto/base/time.h b/include/perfetto/base/time.h
34index 6436503d20..8de7648267 100644
35--- a/include/perfetto/base/time.h
36+++ b/include/perfetto/base/time.h
37@@ -17,6 +17,7 @@
38 #ifndef INCLUDE_PERFETTO_BASE_TIME_H_
39 #define INCLUDE_PERFETTO_BASE_TIME_H_
40
41+#include <stdint.h>
42 #include <time.h>
43
44 #include <chrono>
45diff --git a/include/perfetto/ext/base/string_utils.h b/include/perfetto/ext/base/string_utils.h
46index c8264a2fb7..3b15e55771 100644
47--- a/include/perfetto/ext/base/string_utils.h
48+++ b/include/perfetto/ext/base/string_utils.h
49@@ -24,6 +24,7 @@
50 #include <cinttypes>
51 #include <optional>
52 #include <string>
53+#include <system_error>
54 #include <vector>
55
56 #include "perfetto/ext/base/string_view.h"
57diff --git a/include/perfetto/ext/base/subprocess.h b/include/perfetto/ext/base/subprocess.h
58index 12121e0284..4075169df1 100644
59--- a/include/perfetto/ext/base/subprocess.h
60+++ b/include/perfetto/ext/base/subprocess.h
61@@ -20,6 +20,7 @@
62 #include <condition_variable>
63 #include <functional>
64 #include <initializer_list>
65+#include <memory>
66 #include <mutex>
67 #include <optional>
68 #include <string>
69diff --git a/include/perfetto/ext/base/waitable_event.h b/include/perfetto/ext/base/waitable_event.h
70index 0e786196f8..a4b268a2f3 100644
71--- a/include/perfetto/ext/base/waitable_event.h
72+++ b/include/perfetto/ext/base/waitable_event.h
73@@ -17,6 +17,8 @@
74 #ifndef INCLUDE_PERFETTO_EXT_BASE_WAITABLE_EVENT_H_
75 #define INCLUDE_PERFETTO_EXT_BASE_WAITABLE_EVENT_H_
76
77+#include <stdint.h>
78+
79 #include <condition_variable>
80 #include <mutex>
81
82diff --git a/include/perfetto/ext/tracing/core/slice.h b/include/perfetto/ext/tracing/core/slice.h
83index 063043bdc6..cdabc39465 100644
84--- a/include/perfetto/ext/tracing/core/slice.h
85+++ b/include/perfetto/ext/tracing/core/slice.h
86@@ -18,6 +18,7 @@
87 #define INCLUDE_PERFETTO_EXT_TRACING_CORE_SLICE_H_
88
89 #include <stddef.h>
90+#include <stdint.h>
91 #include <string.h>
92
93 #include <memory>
94diff --git a/src/trace_processor/util/trace_blob_view_reader.h b/src/trace_processor/util/trace_blob_view_reader.h
95index c39ffaba7c..6ffa7ff050 100644
96--- a/src/trace_processor/util/trace_blob_view_reader.h
97+++ b/src/trace_processor/util/trace_blob_view_reader.h
98@@ -19,6 +19,7 @@
99
100 #include <cstddef>
101 #include <optional>
102+#include <vector>
103
104 #include "perfetto/ext/base/circular_queue.h"
105 #include "perfetto/trace_processor/trace_blob_view.h"
diff --git a/meta-oe/recipes-devtools/perfetto/perfetto/0002-traced-fix-missing-include.patch b/meta-oe/recipes-devtools/perfetto/perfetto/0002-traced-fix-missing-include.patch
new file mode 100644
index 0000000000..49b7989359
--- /dev/null
+++ b/meta-oe/recipes-devtools/perfetto/perfetto/0002-traced-fix-missing-include.patch
@@ -0,0 +1,28 @@
1From d005c0123b2f929b918359a53ffe61d7ca2212a0 Mon Sep 17 00:00:00 2001
2From: Lalit Maganti <lalitm@google.com>
3Date: Wed, 14 Aug 2024 11:56:47 +0100
4Subject: [PATCH] traced: fix missing include
5
6Change-Id: Ib9ce8ce5b057e89fa451ccef228228d607b36793
7Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
8---
9Upstream-Status: Backport [https://github.com/google/perfetto/commit/d005c0123b2f929b918359a53ffe61d7ca2212a0]
10
11 src/traced/probes/sys_stats/sys_stats_data_source.h | 1 +
12 1 file changed, 1 insertion(+)
13
14diff --git a/src/traced/probes/sys_stats/sys_stats_data_source.h b/src/traced/probes/sys_stats/sys_stats_data_source.h
15index e09cd8a2ca..7e4749bdcd 100644
16--- a/src/traced/probes/sys_stats/sys_stats_data_source.h
17+++ b/src/traced/probes/sys_stats/sys_stats_data_source.h
18@@ -21,6 +21,7 @@
19
20 #include <map>
21 #include <memory>
22+#include <optional>
23 #include <string>
24
25 #include "perfetto/ext/base/paged_memory.h"
26--
272.43.0
28
diff --git a/meta-oe/recipes-devtools/perl/dbd-mariadb_1.24.bb b/meta-oe/recipes-devtools/perl/dbd-mariadb_1.24.bb
new file mode 100644
index 0000000000..65f2ec232a
--- /dev/null
+++ b/meta-oe/recipes-devtools/perl/dbd-mariadb_1.24.bb
@@ -0,0 +1,20 @@
1DESPCRIPTION = "DBD::MariaDB is the Perl5 Database Interface driver for MariaDB and MySQL databases."
2HOMEPAGE = "https://metacpan.org/dist/DBD-MariaDB"
3LICENSE = "GPL-1.0-only"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=d0a06964340e5c0cde88b7af611f755c"
5
6DEPENDS = "libdbi-perl-native libdev-checklib-perl-native libmysqlclient"
7
8SRC_URI = "${CPAN_MIRROR}/authors/id/P/PA/PALI/DBD-MariaDB-${PV}.tar.gz"
9SRC_URI[sha256sum] = "f977a25b4116a0a95a7c8a894fd37097abe19af9a6a9ed4d800604ec17873fe4"
10
11RDEPENDS:${PN} = "libdbi-perl"
12
13S = "${UNPACKDIR}/DBD-MariaDB-${PV}"
14
15inherit cpan
16
17RDEPENDS:${PN}-ptest += " \
18 libtest-warnings-perl \
19 perl-module-test-more \
20"
diff --git a/meta-oe/recipes-devtools/perl/exiftool_12.72.bb b/meta-oe/recipes-devtools/perl/exiftool_12.89.bb
index ba3e3fdf7e..69a4f79815 100644
--- a/meta-oe/recipes-devtools/perl/exiftool_12.72.bb
+++ b/meta-oe/recipes-devtools/perl/exiftool_12.89.bb
@@ -7,10 +7,9 @@ LIC_FILES_CHKSUM = "file://perl-Image-ExifTool.spec;beginline=5;endline=5;md5=ff
7 7
8inherit cpan 8inherit cpan
9 9
10SRCREV = "fc4f6614ff0c19bb5f332a9c464dcef7267931df" 10SRCREV = "e04534a40925354187e8432d44248229d774f34a"
11SRC_URI = "git://github.com/exiftool/exiftool;protocol=https;branch=master" 11SRC_URI = "git://github.com/exiftool/exiftool;protocol=https;branch=master"
12 12
13S = "${WORKDIR}/git"
14 13
15RDEPENDS:${PN} = " \ 14RDEPENDS:${PN} = " \
16 perl \ 15 perl \
diff --git a/meta-oe/recipes-devtools/perl/ipc-run_20231003.0.bb b/meta-oe/recipes-devtools/perl/ipc-run_20231003.0.bb
index e28b6ea018..9cdb0a52cc 100644
--- a/meta-oe/recipes-devtools/perl/ipc-run_20231003.0.bb
+++ b/meta-oe/recipes-devtools/perl/ipc-run_20231003.0.bb
@@ -12,7 +12,6 @@ DEPENDS = "perl"
12SRC_URI = "git://github.com/toddr/IPC-Run.git;branch=master;protocol=https" 12SRC_URI = "git://github.com/toddr/IPC-Run.git;branch=master;protocol=https"
13SRCREV = "ad56c3b5f5a211d32bbb8ac29f180d707ee58c1b" 13SRCREV = "ad56c3b5f5a211d32bbb8ac29f180d707ee58c1b"
14 14
15S = "${WORKDIR}/git"
16 15
17inherit cpan 16inherit cpan
18 17
diff --git a/meta-oe/recipes-devtools/perl/libconfig-general-perl_2.65.bb b/meta-oe/recipes-devtools/perl/libconfig-general-perl_2.67.bb
index b2266394d6..4886333f3a 100644
--- a/meta-oe/recipes-devtools/perl/libconfig-general-perl_2.65.bb
+++ b/meta-oe/recipes-devtools/perl/libconfig-general-perl_2.67.bb
@@ -8,9 +8,9 @@ SRCNAME = "Config-General"
8 8
9SRC_URI = "http://search.cpan.org/CPAN/authors/id/T/TL/TLINDEN/${SRCNAME}-${PV}.tar.gz" 9SRC_URI = "http://search.cpan.org/CPAN/authors/id/T/TL/TLINDEN/${SRCNAME}-${PV}.tar.gz"
10 10
11SRC_URI[sha256sum] = "4d6d5754be3a9f30906836f0cc10e554c8832e14e7a1341efb15b05d706fc58f" 11SRC_URI[sha256sum] = "473d65127b23dac0e8039c01e28bc4072cb9a6e93e81a1ea4893cea08c698db0"
12 12
13S = "${WORKDIR}/${SRCNAME}-${PV}" 13S = "${UNPACKDIR}/${SRCNAME}-${PV}"
14 14
15EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}" 15EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}"
16 16
diff --git a/meta-oe/recipes-devtools/perl/libdbd-mysql-perl_4.050.bb b/meta-oe/recipes-devtools/perl/libdbd-mysql-perl_4.050.bb
deleted file mode 100644
index fc505fe1e8..0000000000
--- a/meta-oe/recipes-devtools/perl/libdbd-mysql-perl_4.050.bb
+++ /dev/null
@@ -1,22 +0,0 @@
1SUMMARY = "A Perl DBI driver for MySQL"
2DESCRIPTION = "DBD::mysql is the Perl5 Database Interface driver for \
3the MySQL database. In other words: DBD::mysql is an interface between \
4the Perl programming language and the MySQL programming API that comes \
5with the MySQL relational database management system. Most functions \
6provided by this programming API are supported. Some rarely used \
7functions are missing, mainly because no-one ever requested them. \
8"
9HOMEPAGE = "https://github.com/perl5-dbi/DBD-mysql"
10
11SECTION = "libs"
12LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
13DEPENDS += "libdev-checklib-perl-native libdbi-perl-native libmysqlclient"
14
15LIC_FILES_CHKSUM = "file://LICENSE;md5=d0a06964340e5c0cde88b7af611f755c"
16
17SRCREV = "9b5b70ea372f49fe9bc9e592dae3870596d1e3d6"
18SRC_URI = "git://github.com/perl5-dbi/DBD-mysql.git;protocol=https;branch=master"
19
20S = "${WORKDIR}/git"
21
22inherit cpan
diff --git a/meta-oe/recipes-devtools/perl/libdbi-perl/CVE-2014-10402.patch b/meta-oe/recipes-devtools/perl/libdbi-perl/CVE-2014-10402.patch
deleted file mode 100644
index b41bbe0a50..0000000000
--- a/meta-oe/recipes-devtools/perl/libdbi-perl/CVE-2014-10402.patch
+++ /dev/null
@@ -1,56 +0,0 @@
1Backport patch to fix CVE-2014-10402.
2
3CVE: CVE-2014-10402
4Upstream-Status: Backport [https://github.com/rehsack/dbi/commit/19d0fb1]
5
6Ref:
7https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=972180#12
8
9Signed-off-by: Kai Kang <kai.kang@windriver.com>
10
11
12From 19d0fb169eed475e1c053e99036b8668625cfa94 Mon Sep 17 00:00:00 2001
13From: Jens Rehsack <sno@netbsd.org>
14Date: Tue, 6 Oct 2020 10:22:17 +0200
15Subject: [PATCH] lib/DBD/File.pm: fix CVE-2014-10401
16
17Dig into the root cause of RT#99508 - which resulted in CVE-2014-10401 - and
18figure out that DBI->parse_dsn is the wrong helper to parse our attributes in
19DSN, since in DBD::dr::connect only the "dbname" remains from DSN which causes
20parse_dsn to bailout.
21
22Parsing on our own similar to parse_dsn shows the way out.
23
24Signed-off-by: Jens Rehsack <sno@netbsd.org>
25---
26 lib/DBD/File.pm | 7 +++++--
27 1 file changed, 5 insertions(+), 2 deletions(-)
28
29diff --git a/lib/DBD/File.pm b/lib/DBD/File.pm
30index fb14e9a..f55076f 100644
31--- a/lib/DBD/File.pm
32+++ b/lib/DBD/File.pm
33@@ -109,7 +109,11 @@ sub connect
34 # We do not (yet) care about conflicting attributes here
35 # my $dbh = DBI->connect ("dbi:CSV:f_dir=test", undef, undef, { f_dir => "text" });
36 # will test here that both test and text should exist
37- if (my $attr_hash = (DBI->parse_dsn ($dbname))[3]) {
38+ #
39+ # Parsing on our own similar to parse_dsn to find attributes in 'dbname' parameter.
40+ if ($dbname) {
41+ my @attrs = split /;/ => $dbname;
42+ my $attr_hash = { map { split /\s*=>?\s*|\s*,\s*/, $_} @attrs };
43 if (defined $attr_hash->{f_dir} && ! -d $attr_hash->{f_dir}) {
44 my $msg = "No such directory '$attr_hash->{f_dir}";
45 $drh->set_err (2, $msg);
46@@ -120,7 +124,6 @@ sub connect
47 if ($attr and defined $attr->{f_dir} && ! -d $attr->{f_dir}) {
48 my $msg = "No such directory '$attr->{f_dir}";
49 $drh->set_err (2, $msg);
50- $attr->{RaiseError} and croak $msg;
51 return;
52 }
53
54--
552.17.1
56
diff --git a/meta-oe/recipes-devtools/perl/libdbi-perl_1.643.bb b/meta-oe/recipes-devtools/perl/libdbi-perl_1.647.bb
index 1fee83a8fd..c128cb7154 100644
--- a/meta-oe/recipes-devtools/perl/libdbi-perl_1.643.bb
+++ b/meta-oe/recipes-devtools/perl/libdbi-perl_1.647.bb
@@ -4,18 +4,15 @@ DESCRIPTION = "DBI is a database access Application Programming Interface \
4of functions, variables and conventions that provide a consistent \ 4of functions, variables and conventions that provide a consistent \
5database interface independent of the actual database being used. \ 5database interface independent of the actual database being used. \
6" 6"
7HOMEPAGE = "http://search.cpan.org/dist/DBI/" 7HOMEPAGE = "https://metacpan.org/dist/DBI"
8SECTION = "libs" 8SECTION = "libs"
9LICENSE = "Artistic-1.0 | GPL-1.0-or-later" 9LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
10LIC_FILES_CHKSUM = "file://LICENSE;md5=10982c7148e0a012c0fd80534522f5c5" 10LIC_FILES_CHKSUM = "file://LICENSE;md5=65f65488c774efe1da488e36ad6c4a36"
11 11
12SRC_URI = "http://search.cpan.org/CPAN/authors/id/T/TI/TIMB/DBI-${PV}.tar.gz \ 12SRC_URI = "${CPAN_MIRROR}/authors/id/H/HM/HMBRAND/DBI-${PV}.tgz"
13 file://CVE-2014-10402.patch \ 13SRC_URI[sha256sum] = "0df16af8e5b3225a68b7b592ab531004ddb35a9682b50300ce50174ad867d9aa"
14 "
15SRC_URI[md5sum] = "352f80b1e23769c116082a90905d7398"
16SRC_URI[sha256sum] = "8a2b993db560a2c373c174ee976a51027dd780ec766ae17620c20393d2e836fa"
17 14
18S = "${WORKDIR}/DBI-${PV}" 15S = "${UNPACKDIR}/DBI-${PV}"
19 16
20inherit cpan ptest-perl 17inherit cpan ptest-perl
21 18
diff --git a/meta-oe/recipes-devtools/perl/libdev-checklib-perl_1.16.bb b/meta-oe/recipes-devtools/perl/libdev-checklib-perl_1.16.bb
index 74a09e7bf8..43614d55ac 100644
--- a/meta-oe/recipes-devtools/perl/libdev-checklib-perl_1.16.bb
+++ b/meta-oe/recipes-devtools/perl/libdev-checklib-perl_1.16.bb
@@ -13,7 +13,7 @@ SRC_URI = "https://cpan.metacpan.org/modules/by-module/Devel/Devel-CheckLib-${PV
13" 13"
14SRC_URI[sha256sum] = "869d38c258e646dcef676609f0dd7ca90f085f56cf6fd7001b019a5d5b831fca" 14SRC_URI[sha256sum] = "869d38c258e646dcef676609f0dd7ca90f085f56cf6fd7001b019a5d5b831fca"
15 15
16S = "${WORKDIR}/Devel-CheckLib-${PV}" 16S = "${UNPACKDIR}/Devel-CheckLib-${PV}"
17 17
18inherit cpan 18inherit cpan
19 19
@@ -25,4 +25,4 @@ do_install:append() {
25 -e "/use strict;/ause warnings;" ${D}${bindir}/use-devel-checklib 25 -e "/use strict;/ause warnings;" ${D}${bindir}/use-devel-checklib
26} 26}
27 27
28BBCLASSEXTEND="native" 28BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/perl/libio-pty-perl_1.20.bb b/meta-oe/recipes-devtools/perl/libio-pty-perl_1.20.bb
index 6029b7aae9..1464a84d34 100644
--- a/meta-oe/recipes-devtools/perl/libio-pty-perl_1.20.bb
+++ b/meta-oe/recipes-devtools/perl/libio-pty-perl_1.20.bb
@@ -7,7 +7,7 @@ SRC_URI = "http://www.cpan.org/modules/by-module/IO/IO-Tty-${PV}.tar.gz"
7 7
8SRC_URI[sha256sum] = "b15309fc85623893289cb9b2b88dfa9ed1e69156b75f29938553a45be6d730af" 8SRC_URI[sha256sum] = "b15309fc85623893289cb9b2b88dfa9ed1e69156b75f29938553a45be6d730af"
9 9
10S = "${WORKDIR}/IO-Tty-${PV}" 10S = "${UNPACKDIR}/IO-Tty-${PV}"
11 11
12inherit cpan ptest-perl 12inherit cpan ptest-perl
13 13
diff --git a/meta-oe/recipes-devtools/perl/libjson-perl_4.03000.bb b/meta-oe/recipes-devtools/perl/libjson-perl_4.05000.bb
index 88d0d26d03..ded0dea0d1 100644
--- a/meta-oe/recipes-devtools/perl/libjson-perl_4.03000.bb
+++ b/meta-oe/recipes-devtools/perl/libjson-perl_4.05000.bb
@@ -11,9 +11,8 @@ DEPENDS += "perl"
11 11
12SRC_URI = "git://github.com/makamaka/JSON.git;protocol=https;branch=master" 12SRC_URI = "git://github.com/makamaka/JSON.git;protocol=https;branch=master"
13 13
14SRCREV = "ebbae181c5e311fa80ee4c6379b598c7a6400570" 14SRCREV = "39bc0e567c202762a575fed2844ebdb941c3ca09"
15 15
16S = "${WORKDIR}/git"
17 16
18inherit cpan 17inherit cpan
19 18
diff --git a/meta-oe/recipes-devtools/perl/libparse-yapp-perl_1.21.bb b/meta-oe/recipes-devtools/perl/libparse-yapp-perl_1.21.bb
index be9704a313..a7e05922d6 100644
--- a/meta-oe/recipes-devtools/perl/libparse-yapp-perl_1.21.bb
+++ b/meta-oe/recipes-devtools/perl/libparse-yapp-perl_1.21.bb
@@ -11,10 +11,9 @@ LIC_FILES_CHKSUM = "file://lib/Parse/Yapp.pm;beginline=508;endline=521;md5=41a45
11 11
12SRC_URI = "https://www.cpan.org/authors/id/W/WB/WBRASWELL/Parse-Yapp-${PV}.tar.gz" 12SRC_URI = "https://www.cpan.org/authors/id/W/WB/WBRASWELL/Parse-Yapp-${PV}.tar.gz"
13 13
14SRC_URI[md5sum] = "69584d5b0f0304bb2a23cffcd982c5de"
15SRC_URI[sha256sum] = "3810e998308fba2e0f4f26043035032b027ce51ce5c8a52a8b8e340ca65f13e5" 14SRC_URI[sha256sum] = "3810e998308fba2e0f4f26043035032b027ce51ce5c8a52a8b8e340ca65f13e5"
16 15
17S = "${WORKDIR}/Parse-Yapp-${PV}" 16S = "${UNPACKDIR}/Parse-Yapp-${PV}"
18 17
19inherit cpan 18inherit cpan
20 19
diff --git a/meta-oe/recipes-devtools/perl/libpcsc-perl_1.4.14.bb b/meta-oe/recipes-devtools/perl/libpcsc-perl_1.4.15.bb
index ff4e1f0563..3e4137a68c 100644
--- a/meta-oe/recipes-devtools/perl/libpcsc-perl_1.4.14.bb
+++ b/meta-oe/recipes-devtools/perl/libpcsc-perl_1.4.15.bb
@@ -8,10 +8,12 @@ LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
8LIC_FILES_CHKSUM = "file://LICENCE;md5=b234ee4d69f5fce4486a80fdaf4a4263" 8LIC_FILES_CHKSUM = "file://LICENCE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
9 9
10SRC_URI = "https://cpan.metacpan.org/authors/id/W/WH/WHOM/pcsc-perl-${PV}.tar.bz2" 10SRC_URI = "https://cpan.metacpan.org/authors/id/W/WH/WHOM/pcsc-perl-${PV}.tar.bz2"
11SRC_URI[md5sum] = "45601505dbb7b27329811ac9bad35fab" 11SRC_URI[sha256sum] = "5cc834438739bd6e4e837fb7e10bd8befb809cd185ae6cf4b33e5fa9161f59fe"
12SRC_URI[sha256sum] = "2722b7e5543e4faf3ba1ec6b29a7dfec6d92be1edec09d0a3191992d4d88c69d"
13 12
14S = "${WORKDIR}/pcsc-perl-${PV}" 13UPSTREAM_CHECK_URI = "https://cpan.metacpan.org/authors/id/W/WH/WHOM/"
14UPSTREAM_CHECK_REGEX = "pcsc-perl-(?P<pver>\d+(\.\d+)+)"
15
16S = "${UNPACKDIR}/pcsc-perl-${PV}"
15 17
16inherit cpan pkgconfig 18inherit cpan pkgconfig
17 19
@@ -19,4 +21,4 @@ DEPENDS += "pcsc-lite"
19 21
20RDEPENDS:${PN} += "perl-module-carp" 22RDEPENDS:${PN} += "perl-module-carp"
21 23
22BBCLASSEXTEND="native" 24BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/perl/libperlio-gzip-perl_0.20.bb b/meta-oe/recipes-devtools/perl/libperlio-gzip-perl_0.20.bb
index 11f6a1ad19..981c946483 100644
--- a/meta-oe/recipes-devtools/perl/libperlio-gzip-perl_0.20.bb
+++ b/meta-oe/recipes-devtools/perl/libperlio-gzip-perl_0.20.bb
@@ -11,10 +11,9 @@ DEPENDS += "perl"
11 11
12SRC_URI = "https://cpan.metacpan.org/authors/id/N/NW/NWCLARK/PerlIO-gzip-${PV}.tar.gz" 12SRC_URI = "https://cpan.metacpan.org/authors/id/N/NW/NWCLARK/PerlIO-gzip-${PV}.tar.gz"
13 13
14SRC_URI[md5sum] = "0393eae5d0b23df6cf40ed44af7d711c"
15SRC_URI[sha256sum] = "4848679a3f201e3f3b0c5f6f9526e602af52923ffa471a2a3657db786bd3bdc5" 14SRC_URI[sha256sum] = "4848679a3f201e3f3b0c5f6f9526e602af52923ffa471a2a3657db786bd3bdc5"
16 15
17S = "${WORKDIR}/PerlIO-gzip-${PV}" 16S = "${UNPACKDIR}/PerlIO-gzip-${PV}"
18 17
19EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}" 18EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}"
20 19
diff --git a/meta-oe/recipes-devtools/php/php/0001-Change-whether-to-inline-XXH3_hashLong_withSecret-to.patch b/meta-oe/recipes-devtools/php/php/0001-Change-whether-to-inline-XXH3_hashLong_withSecret-to.patch
deleted file mode 100644
index 5b8c76209a..0000000000
--- a/meta-oe/recipes-devtools/php/php/0001-Change-whether-to-inline-XXH3_hashLong_withSecret-to.patch
+++ /dev/null
@@ -1,93 +0,0 @@
1From 1eeb59366d6140a799f6051fb9f57d988b81fd5b Mon Sep 17 00:00:00 2001
2From: easyaspi314 <easyaspi314@users.noreply.github.com>
3Date: Wed, 12 Apr 2023 13:33:07 +0800
4Subject: [PATCH] Change whether to inline XXH3_hashLong_withSecret to a config
5 option
6
7Change whether to inline XXH3_hashLong_withSecret to a config option to fix
8GCC 12 -Og.
9
10Upstream-Status: Submitted [https://github.com/php/php-src/pull/11062]
11
12Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
13---
14 ext/hash/xxhash/xxhash.h | 35 +++++++++++++++++++++++++++++++++--
15 1 file changed, 33 insertions(+), 2 deletions(-)
16
17diff --git a/ext/hash/xxhash/xxhash.h b/ext/hash/xxhash/xxhash.h
18index b5bd2864..8e816c05 100644
19--- a/ext/hash/xxhash/xxhash.h
20+++ b/ext/hash/xxhash/xxhash.h
21@@ -1375,6 +1375,23 @@ XXH3_128bits_reset_withSecretandSeed(XXH3_state_t* statePtr,
22 */
23 # define XXH_NO_INLINE_HINTS 0
24
25+/*!
26+ * @def XXH3_INLINE_SECRET
27+ * @brief Determines whether to inline the XXH3 withSecret code.
28+ *
29+ * When the secret size is known, the compiler can improve the performance
30+ * of XXH3_64bits_withSecret() and XXH3_128bits_withSecret().
31+ *
32+ * However, if the secret size is not known, it doesn't have any benefit. This
33+ * happens when xxHash is compiled into a global symbol. Therefore, if
34+ * @ref XXH_INLINE_ALL is *not* defined, this will be defined to 0.
35+ *
36+ * Additionally, this defaults to 0 on GCC 12+, which has an issue with function pointers
37+ * that are *sometimes* force inline on -Og, and it is impossible to automatically
38+ * detect this optimization level.
39+ */
40+# define XXH3_INLINE_SECRET 0
41+
42 /*!
43 * @def XXH32_ENDJMP
44 * @brief Whether to use a jump for `XXH32_finalize`.
45@@ -1439,6 +1456,15 @@ XXH3_128bits_reset_withSecretandSeed(XXH3_state_t* statePtr,
46 # endif
47 #endif
48
49+#ifndef XXH3_INLINE_SECRET
50+# if (defined(__GNUC__) && !defined(__clang__) && __GNUC__ >= 12) \
51+ || !defined(XXH_INLINE_ALL)
52+# define XXH3_INLINE_SECRET 0
53+# else
54+# define XXH3_INLINE_SECRET 1
55+# endif
56+#endif
57+
58 #ifndef XXH32_ENDJMP
59 /* generally preferable for performance */
60 # define XXH32_ENDJMP 0
61@@ -1515,6 +1541,11 @@ static void* XXH_memcpy(void* dest, const void* src, size_t size)
62 # define XXH_NO_INLINE static
63 #endif
64
65+#if XXH3_INLINE_SECRET
66+# define XXH3_WITH_SECRET_INLINE XXH_FORCE_INLINE
67+#else
68+# define XXH3_WITH_SECRET_INLINE XXH_NO_INLINE
69+#endif
70
71
72 /* *************************************
73@@ -4465,7 +4496,7 @@ XXH3_hashLong_64b_internal(const void* XXH_RESTRICT input, size_t len,
74 * so that the compiler can properly optimize the vectorized loop.
75 * This makes a big performance difference for "medium" keys (<1 KB) when using AVX instruction set.
76 */
77-XXH_FORCE_INLINE XXH64_hash_t
78+XXH3_WITH_SECRET_INLINE XXH64_hash_t
79 XXH3_hashLong_64b_withSecret(const void* XXH_RESTRICT input, size_t len,
80 XXH64_hash_t seed64, const xxh_u8* XXH_RESTRICT secret, size_t secretLen)
81 {
82@@ -5263,7 +5294,7 @@ XXH3_hashLong_128b_default(const void* XXH_RESTRICT input, size_t len,
83 * It's important for performance to pass @secretLen (when it's static)
84 * to the compiler, so that it can properly optimize the vectorized loop.
85 */
86-XXH_FORCE_INLINE XXH128_hash_t
87+XXH3_WITH_SECRET_INLINE XXH128_hash_t
88 XXH3_hashLong_128b_withSecret(const void* XXH_RESTRICT input, size_t len,
89 XXH64_hash_t seed64,
90 const void* XXH_RESTRICT secret, size_t secretLen)
91--
922.25.1
93
diff --git a/meta-oe/recipes-devtools/php/php/0004-configure.ac-don-t-include-build-libtool.m4.patch b/meta-oe/recipes-devtools/php/php/0001-configure.ac-don-t-include-build-libtool.m4.patch
index 19a8bf8e4f..fae8697fd4 100644
--- a/meta-oe/recipes-devtools/php/php/0004-configure.ac-don-t-include-build-libtool.m4.patch
+++ b/meta-oe/recipes-devtools/php/php/0001-configure.ac-don-t-include-build-libtool.m4.patch
@@ -1,7 +1,7 @@
1From 41ef1121682c245b10df7de4b78c45baf9114c04 Mon Sep 17 00:00:00 2001 1From 6da78888b934dc10720a6e0e520536077cc2aac2 Mon Sep 17 00:00:00 2001
2From: Claude Bing <cbing@cybernetics.com> 2From: Claude Bing <cbing@cybernetics.com>
3Date: Tue, 9 Nov 2021 13:03:46 -0500 3Date: Tue, 9 Nov 2021 13:03:46 -0500
4Subject: [PATCH 04/11] configure.ac: don't include build/libtool.m4 4Subject: [PATCH 1/5] configure.ac: don't include build/libtool.m4
5 5
6we delete build/libtool.m4 before do_configure, 6we delete build/libtool.m4 before do_configure,
7we will use libtool.m4 under ACLOCALDIR 7we will use libtool.m4 under ACLOCALDIR
@@ -17,7 +17,7 @@ Signed-off-by: Claude Bing <cbing@cybernetics.com>
17 1 file changed, 1 deletion(-) 17 1 file changed, 1 deletion(-)
18 18
19diff --git a/configure.ac b/configure.ac 19diff --git a/configure.ac b/configure.ac
20index 90c94323aa..161e7c3f53 100644 20index 9d79720a2..9353e2f6e 100644
21--- a/configure.ac 21--- a/configure.ac
22+++ b/configure.ac 22+++ b/configure.ac
23@@ -6,7 +6,6 @@ dnl ---------------------------------------------------------------------------- 23@@ -6,7 +6,6 @@ dnl ----------------------------------------------------------------------------
diff --git a/meta-oe/recipes-devtools/php/php/0001-ext-opcache-config.m4-enable-opcache.patch b/meta-oe/recipes-devtools/php/php/0001-ext-opcache-config.m4-enable-opcache.patch
deleted file mode 100644
index a967d64120..0000000000
--- a/meta-oe/recipes-devtools/php/php/0001-ext-opcache-config.m4-enable-opcache.patch
+++ /dev/null
@@ -1,251 +0,0 @@
1From ca9b419f2c146061f73ee045cb0a069c18b40cd0 Mon Sep 17 00:00:00 2001
2From: Mingli Yu <mingli.yu@windriver.com>
3Date: Wed, 15 Dec 2021 14:00:08 +0800
4Subject: [PATCH 01/11] ext/opcache/config.m4: enable opcache
5
6We can't use AC_TRY_RUN to run programs in a cross compile
7environment. Set the variables directly instead since we know
8that we'd be running on latest enough linux kernel.
9
10Upstream-Status: Inappropriate [Configuration]
11
12Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
13
14update patch to version 7.4.4
15Signed-off-by: Changqing Li <changqing.li@windriver.com>
16
17update patch to version 8.0.12
18fix issue linking with librt
19Signed-off-by: Claude Bing <cbing@cybernetics.com>
20
21update patch to version 8.1.0
22Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
23---
24 ext/opcache/config.m4 | 204 ++----------------------------------------
25 1 file changed, 8 insertions(+), 196 deletions(-)
26
27diff --git a/ext/opcache/config.m4 b/ext/opcache/config.m4
28index 2a83fa2..9471b5d 100644
29--- a/ext/opcache/config.m4
30+++ b/ext/opcache/config.m4
31@@ -108,209 +108,21 @@ if test "$PHP_OPCACHE" != "no"; then
32 AC_CHECK_FUNCS([mprotect])
33
34 AC_MSG_CHECKING(for sysvipc shared memory support)
35- AC_RUN_IFELSE([AC_LANG_SOURCE([[
36-#include <sys/types.h>
37-#include <sys/wait.h>
38-#include <sys/ipc.h>
39-#include <sys/shm.h>
40-#include <unistd.h>
41-#include <string.h>
42-
43-int main() {
44- pid_t pid;
45- int status;
46- int ipc_id;
47- char *shm;
48- struct shmid_ds shmbuf;
49-
50- ipc_id = shmget(IPC_PRIVATE, 4096, (IPC_CREAT | SHM_R | SHM_W));
51- if (ipc_id == -1) {
52- return 1;
53- }
54-
55- shm = shmat(ipc_id, NULL, 0);
56- if (shm == (void *)-1) {
57- shmctl(ipc_id, IPC_RMID, NULL);
58- return 2;
59- }
60-
61- if (shmctl(ipc_id, IPC_STAT, &shmbuf) != 0) {
62- shmdt(shm);
63- shmctl(ipc_id, IPC_RMID, NULL);
64- return 3;
65- }
66-
67- shmbuf.shm_perm.uid = getuid();
68- shmbuf.shm_perm.gid = getgid();
69- shmbuf.shm_perm.mode = 0600;
70-
71- if (shmctl(ipc_id, IPC_SET, &shmbuf) != 0) {
72- shmdt(shm);
73- shmctl(ipc_id, IPC_RMID, NULL);
74- return 4;
75- }
76-
77- shmctl(ipc_id, IPC_RMID, NULL);
78-
79- strcpy(shm, "hello");
80-
81- pid = fork();
82- if (pid < 0) {
83- return 5;
84- } else if (pid == 0) {
85- strcpy(shm, "bye");
86- return 6;
87- }
88- if (wait(&status) != pid) {
89- return 7;
90- }
91- if (!WIFEXITED(status) || WEXITSTATUS(status) != 6) {
92- return 8;
93- }
94- if (strcmp(shm, "bye") != 0) {
95- return 9;
96- }
97- return 0;
98-}
99-]])],[have_shm_ipc=yes],[have_shm_ipc=no],[have_shm_ipc=no])
100- if test "$have_shm_ipc" = "yes"; then
101- AC_DEFINE(HAVE_SHM_IPC, 1, [Define if you have SysV IPC SHM support])
102- fi
103+ AC_DEFINE(HAVE_SHM_IPC, 1, [Define if you have SysV IPC SHM support])
104+ have_shm_ipc=yes
105 AC_MSG_RESULT([$have_shm_ipc])
106
107 AC_MSG_CHECKING(for mmap() using MAP_ANON shared memory support)
108- AC_RUN_IFELSE([AC_LANG_SOURCE([[
109-#include <sys/types.h>
110-#include <sys/wait.h>
111-#include <sys/mman.h>
112-#include <unistd.h>
113-#include <string.h>
114-
115-#ifndef MAP_ANON
116-# ifdef MAP_ANONYMOUS
117-# define MAP_ANON MAP_ANONYMOUS
118-# endif
119-#endif
120-#ifndef MAP_FAILED
121-# define MAP_FAILED ((void*)-1)
122-#endif
123-
124-int main() {
125- pid_t pid;
126- int status;
127- char *shm;
128-
129- shm = mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_SHARED | MAP_ANON, -1, 0);
130- if (shm == MAP_FAILED) {
131- return 1;
132- }
133-
134- strcpy(shm, "hello");
135-
136- pid = fork();
137- if (pid < 0) {
138- return 5;
139- } else if (pid == 0) {
140- strcpy(shm, "bye");
141- return 6;
142- }
143- if (wait(&status) != pid) {
144- return 7;
145- }
146- if (!WIFEXITED(status) || WEXITSTATUS(status) != 6) {
147- return 8;
148- }
149- if (strcmp(shm, "bye") != 0) {
150- return 9;
151- }
152- return 0;
153-}
154-]])],[have_shm_mmap_anon=yes],[have_shm_mmap_anon=no],[
155- case $host_alias in
156- *linux*)
157- have_shm_mmap_anon=yes
158- ;;
159- *)
160- have_shm_mmap_anon=no
161- ;;
162- esac
163-])
164- if test "$have_shm_mmap_anon" = "yes"; then
165- AC_DEFINE(HAVE_SHM_MMAP_ANON, 1, [Define if you have mmap(MAP_ANON) SHM support])
166- fi
167+ AC_DEFINE(HAVE_SHM_MMAP_ANON, 1, [Define if you have mmap(MAP_ANON) SHM support])
168+ have_shm_mmap_anon=yes
169 AC_MSG_RESULT([$have_shm_mmap_anon])
170
171 PHP_CHECK_FUNC_LIB(shm_open, rt, root)
172 AC_MSG_CHECKING(for mmap() using shm_open() shared memory support)
173- AC_RUN_IFELSE([AC_LANG_SOURCE([[
174-#include <sys/types.h>
175-#include <sys/wait.h>
176-#include <sys/mman.h>
177-#include <sys/stat.h>
178-#include <fcntl.h>
179-#include <unistd.h>
180-#include <string.h>
181-#include <stdlib.h>
182-#include <stdio.h>
183-
184-#ifndef MAP_FAILED
185-# define MAP_FAILED ((void*)-1)
186-#endif
187-
188-int main() {
189- pid_t pid;
190- int status;
191- int fd;
192- char *shm;
193- char tmpname[4096];
194-
195- sprintf(tmpname,"/opcache.test.shm.%dXXXXXX", getpid());
196- if (mktemp(tmpname) == NULL) {
197- return 1;
198- }
199- fd = shm_open(tmpname, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
200- if (fd == -1) {
201- return 2;
202- }
203- if (ftruncate(fd, 4096) < 0) {
204- close(fd);
205- shm_unlink(tmpname);
206- return 3;
207- }
208-
209- shm = mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
210- if (shm == MAP_FAILED) {
211- return 4;
212- }
213- shm_unlink(tmpname);
214- close(fd);
215-
216- strcpy(shm, "hello");
217-
218- pid = fork();
219- if (pid < 0) {
220- return 5;
221- } else if (pid == 0) {
222- strcpy(shm, "bye");
223- return 6;
224- }
225- if (wait(&status) != pid) {
226- return 7;
227- }
228- if (!WIFEXITED(status) || WEXITSTATUS(status) != 6) {
229- return 8;
230- }
231- if (strcmp(shm, "bye") != 0) {
232- return 9;
233- }
234- return 0;
235-}
236-]])],[have_shm_mmap_posix=yes],[have_shm_mmap_posix=no],[have_shm_mmap_posix=no])
237- if test "$have_shm_mmap_posix" = "yes"; then
238- AC_DEFINE(HAVE_SHM_MMAP_POSIX, 1, [Define if you have POSIX mmap() SHM support])
239- PHP_CHECK_LIBRARY(rt, shm_unlink, [PHP_ADD_LIBRARY(rt,1,OPCACHE_SHARED_LIBADD)])
240- fi
241- AC_MSG_RESULT([$have_shm_mmap_posix])
242+ AC_DEFINE(HAVE_SHM_MMAP_POSIX, 1, [Define if you have POSIX mmap() SHM support])
243+ AC_MSG_RESULT([yes])
244+ have_shm_mmap_posix=yes
245+ PHP_CHECK_LIBRARY(rt, shm_unlink, [PHP_ADD_LIBRARY(rt,1,OPCACHE_SHARED_LIBADD)])
246
247 PHP_NEW_EXTENSION(opcache,
248 ZendAccelerator.c \
249--
2502.17.1
251
diff --git a/meta-oe/recipes-devtools/php/php/0002-build-php.m4-don-t-unset-cache-variables.patch b/meta-oe/recipes-devtools/php/php/0002-build-php.m4-don-t-unset-cache-variables.patch
deleted file mode 100644
index 6183f49c28..0000000000
--- a/meta-oe/recipes-devtools/php/php/0002-build-php.m4-don-t-unset-cache-variables.patch
+++ /dev/null
@@ -1,45 +0,0 @@
1From 1af203e8e385d46ad3e33b1c253b1c564aa99034 Mon Sep 17 00:00:00 2001
2From: Claude Bing <cbing@cybernetics.com>
3Date: Tue, 9 Nov 2021 13:01:55 -0500
4Subject: [PATCH 02/11] build/php.m4: don't unset cache variables
5
6Unsetting prevents cache variable from being passed to configure.
7
8Upstream-Status: Inappropriate [OE-specific]
9
10Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
11
12update this patch to 7.4.4, acinclude.m4 move to build/php.m4
13Signed-off-by: Changqing Li <changqing.li@windriver.com>
14
15update patch to 8.0.12
16Signed-off-by: Claude Bing <cbing@cybernetics.com>
17---
18 build/php.m4 | 4 ----
19 1 file changed, 4 deletions(-)
20
21diff --git a/build/php.m4 b/build/php.m4
22index 9746ba28f3..93551d9ca7 100644
23--- a/build/php.m4
24+++ b/build/php.m4
25@@ -1568,8 +1568,6 @@ dnl PHP_CHECK_FUNC_LIB
26 dnl
27 AC_DEFUN([PHP_CHECK_FUNC_LIB],[
28 ifelse($2,,:,[
29- unset ac_cv_lib_$2[]_$1
30- unset ac_cv_lib_$2[]___$1
31 unset found
32 AC_CHECK_LIB($2, $1, [found=yes], [
33 AC_CHECK_LIB($2, __$1, [found=yes], [found=no])
34@@ -1601,8 +1599,6 @@ dnl and as a fall back in the specified library. Defines HAVE_func and
35 dnl HAVE_library if found and adds the library to LIBS.
36 dnl
37 AC_DEFUN([PHP_CHECK_FUNC],[
38- unset ac_cv_func_$1
39- unset ac_cv_func___$1
40 unset found
41
42 AC_CHECK_FUNC($1, [found=yes],[ AC_CHECK_FUNC(__$1,[found=yes],[found=no]) ])
43--
442.25.1
45
diff --git a/meta-oe/recipes-devtools/php/php/0006-ext-phar-Makefile.frag-Fix-phar-packaging.patch b/meta-oe/recipes-devtools/php/php/0002-ext-phar-Makefile.frag-Fix-phar-packaging.patch
index acf2940839..b2c4f8840f 100644
--- a/meta-oe/recipes-devtools/php/php/0006-ext-phar-Makefile.frag-Fix-phar-packaging.patch
+++ b/meta-oe/recipes-devtools/php/php/0002-ext-phar-Makefile.frag-Fix-phar-packaging.patch
@@ -1,7 +1,7 @@
1From eab5babdadea487bbbef025068c553f5ba741774 Mon Sep 17 00:00:00 2001 1From f7724d7ccd157058630e6a887798ab6d3e34c6b7 Mon Sep 17 00:00:00 2001
2From: Claude Bing <cbing@cybernetics.com> 2From: Claude Bing <cbing@cybernetics.com>
3Date: Tue, 9 Nov 2021 13:07:25 -0500 3Date: Tue, 9 Nov 2021 13:07:25 -0500
4Subject: [PATCH 06/11] ext/phar/Makefile.frag: Fix phar packaging 4Subject: [PATCH 2/5] ext/phar/Makefile.frag: Fix phar packaging
5 5
6Inherited from OE-Classic, with some additions to fix host paths leaking 6Inherited from OE-Classic, with some additions to fix host paths leaking
7into the target package. 7into the target package.
@@ -18,9 +18,11 @@ Signed-off-by: Claude Bing <cbing@cybernetics.com>
18 ext/phar/Makefile.frag | 17 +++-------------- 18 ext/phar/Makefile.frag | 17 +++--------------
19 1 file changed, 3 insertions(+), 14 deletions(-) 19 1 file changed, 3 insertions(+), 14 deletions(-)
20 20
21diff --git a/ext/phar/Makefile.frag b/ext/phar/Makefile.frag
22index cedde76df..09d577d73 100644
21--- a/ext/phar/Makefile.frag 23--- a/ext/phar/Makefile.frag
22+++ b/ext/phar/Makefile.frag 24+++ b/ext/phar/Makefile.frag
23@@ -10,20 +10,9 @@ pharcmd: $(builddir)/phar.php $(builddir 25@@ -10,20 +10,9 @@ pharcmd: $(builddir)/phar.php $(builddir)/phar.phar
24 26
25 PHP_PHARCMD_SETTINGS = -n -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1' -d phar.readonly=0 27 PHP_PHARCMD_SETTINGS = -n -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1' -d phar.readonly=0
26 PHP_PHARCMD_EXECUTABLE = ` \ 28 PHP_PHARCMD_EXECUTABLE = ` \
@@ -44,3 +46,6 @@ Signed-off-by: Claude Bing <cbing@cybernetics.com>
44 46
45 $(builddir)/phar/phar.inc: $(srcdir)/phar/phar.inc 47 $(builddir)/phar/phar.inc: $(srcdir)/phar/phar.inc
46 -@test -d $(builddir)/phar || mkdir $(builddir)/phar 48 -@test -d $(builddir)/phar || mkdir $(builddir)/phar
49--
502.25.1
51
diff --git a/meta-oe/recipes-devtools/php/php/0010-iconv-fix-detection.patch b/meta-oe/recipes-devtools/php/php/0003-iconv-fix-detection.patch
index e3b8cd4707..745bc2140d 100644
--- a/meta-oe/recipes-devtools/php/php/0010-iconv-fix-detection.patch
+++ b/meta-oe/recipes-devtools/php/php/0003-iconv-fix-detection.patch
@@ -1,7 +1,7 @@
1From a04aabc5b80371e579fbaffdd417627390d22722 Mon Sep 17 00:00:00 2001 1From d9fc6b314cefe010a0deb6e591719cfb0ff226a5 Mon Sep 17 00:00:00 2001
2From: Claude Bing <cbing@cybernetics.com> 2From: Claude Bing <cbing@cybernetics.com>
3Date: Tue, 9 Nov 2021 13:10:33 -0500 3Date: Tue, 9 Nov 2021 13:10:33 -0500
4Subject: [PATCH 10/11] iconv: fix detection 4Subject: [PATCH] iconv: fix detection
5 5
6Upstream-Status: Pending 6Upstream-Status: Pending
7 7
@@ -12,24 +12,24 @@ Signed-off-by: Changqing Li <changqing.li@windriver.com>
12 12
13update patch to version 8.0.12 13update patch to version 8.0.12
14Signed-off-by: Claude Bing <cbing@cybernetics.com> 14Signed-off-by: Claude Bing <cbing@cybernetics.com>
15
16update patch to version 8.4.4
17Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
15--- 18---
16 build/php.m4 | 3 ++- 19 build/php.m4 | 3 ++-
17 1 file changed, 2 insertions(+), 1 deletion(-) 20 1 file changed, 2 insertions(+), 1 deletion(-)
18 21
19diff --git a/build/php.m4 b/build/php.m4 22diff --git a/build/php.m4 b/build/php.m4
20index 93551d9ca7..dba50825fb 100644 23index d8a5cbf0..aee21924 100644
21--- a/build/php.m4 24--- a/build/php.m4
22+++ b/build/php.m4 25+++ b/build/php.m4
23@@ -1919,7 +1919,8 @@ AC_DEFUN([PHP_SETUP_ICONV], [ 26@@ -1829,7 +1829,8 @@ AC_DEFUN([PHP_SETUP_ICONV], [
24 unset ICONV_DIR 27 [Define to 1 if you have the 'libiconv' function.])
25 28
26 dnl Check libc first if no path is provided in --with-iconv. 29 dnl Check libc first if no path is provided in --with-iconv.
27- if test "$PHP_ICONV" = "yes"; then 30- AS_VAR_IF([PHP_ICONV], [yes], [
28+ dnl must check against no, not against yes as PHP_ICONV can also include a path, which implies yes 31+ dnl must check against no, not against yes as PHP_ICONV can also include a path, which implies yes
29+ if test "$PHP_ICONV" != "no"; then 32+ AS_VAR_IF([PHP_ICONV], [no], [], [
30 dnl Reset LIBS temporarily as it may have already been included -liconv in. 33 dnl Reset LIBS temporarily as it may have already been included -liconv in.
31 LIBS_save="$LIBS" 34 LIBS_save=$LIBS
32 LIBS= 35 LIBS=
33--
342.25.1
35
diff --git a/meta-oe/recipes-devtools/php/php/0003-php-remove-host-specific-info-from-header-file.patch b/meta-oe/recipes-devtools/php/php/0003-php-remove-host-specific-info-from-header-file.patch
deleted file mode 100644
index 9637ed9516..0000000000
--- a/meta-oe/recipes-devtools/php/php/0003-php-remove-host-specific-info-from-header-file.patch
+++ /dev/null
@@ -1,36 +0,0 @@
1From c81d0bd3491a6c6371d9df2f43956d109f984310 Mon Sep 17 00:00:00 2001
2From: Claude Bing <cbing@cybernetics.com>
3Date: Tue, 9 Nov 2021 13:02:29 -0500
4Subject: [PATCH 03/11] php: remove host specific info from header file
5
6Based on:
7https://sources.debian.org/data/main/p/php7.3/7.3.6-1/debian/patches/
8 0036-php-5.4.9-fixheader.patch
9
10Upstream-Status: Inappropriate [not author]
11
12Signed-off-by: Joe Slater <joe.slater@windriver.com>
13Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
14
15update patch to 8.0.12
16Signed-off-by: Claude Bing <cbing@cybernetics.com>
17---
18 configure.ac | 2 +-
19 1 file changed, 1 insertion(+), 1 deletion(-)
20
21diff --git a/configure.ac b/configure.ac
22index 1eafd62a44..90c94323aa 100644
23--- a/configure.ac
24+++ b/configure.ac
25@@ -1289,7 +1289,7 @@ PHP_REMOVE_USR_LIB(LDFLAGS)
26 EXTRA_LDFLAGS="$EXTRA_LDFLAGS $PHP_LDFLAGS"
27 EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM $PHP_LDFLAGS"
28
29-UNAME=`uname -a | xargs`
30+UNAME=`uname | xargs`
31 PHP_UNAME=${PHP_UNAME:-$UNAME}
32 AC_DEFINE_UNQUOTED(PHP_UNAME,"$PHP_UNAME",[uname -a output])
33 PHP_OS=`uname | xargs`
34--
352.25.1
36
diff --git a/meta-oe/recipes-devtools/php/php/0005-pear-fix-Makefile.frag-for-Yocto.patch b/meta-oe/recipes-devtools/php/php/0004-pear-fix-Makefile.frag-for-Yocto.patch
index 37752ef949..23641be2c6 100644
--- a/meta-oe/recipes-devtools/php/php/0005-pear-fix-Makefile.frag-for-Yocto.patch
+++ b/meta-oe/recipes-devtools/php/php/0004-pear-fix-Makefile.frag-for-Yocto.patch
@@ -1,20 +1,20 @@
1From f22958b4c1348eec3bb4c0f2cbe2d22676e0ad23 Mon Sep 17 00:00:00 2001 1From 35d7d40ac49c96b7a9a19b2f6593abb9f18ade2b Mon Sep 17 00:00:00 2001
2From: Claude Bing <cbing@cybernetics.com> 2From: Claude Bing <cbing@cybernetics.com>
3Date: Tue, 9 Nov 2021 13:04:29 -0500 3Date: Tue, 9 Nov 2021 13:04:29 -0500
4Subject: [PATCH 05/11] pear: fix Makefile.frag for Yocto 4Subject: [PATCH 4/5] pear: fix Makefile.frag for Yocto
5
6Upstream-Status: Pending
5 7
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 8Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7 9
8update patch to 8.0.12 10update patch to 8.0.12
9Signed-off-by: Claude Bing <cbing@cybernetics.com> 11Signed-off-by: Claude Bing <cbing@cybernetics.com>
10--- 12---
11Upstream-Status: Pending
12
13 pear/Makefile.frag | 2 +- 13 pear/Makefile.frag | 2 +-
14 1 file changed, 1 insertion(+), 1 deletion(-) 14 1 file changed, 1 insertion(+), 1 deletion(-)
15 15
16diff --git a/pear/Makefile.frag b/pear/Makefile.frag 16diff --git a/pear/Makefile.frag b/pear/Makefile.frag
17index 9408757a3a..69072f39e0 100644 17index 9408757a3..69072f39e 100644
18--- a/pear/Makefile.frag 18--- a/pear/Makefile.frag
19+++ b/pear/Makefile.frag 19+++ b/pear/Makefile.frag
20@@ -10,7 +10,7 @@ PEAR_SUFFIX = -ds a$(program_suffix) 20@@ -10,7 +10,7 @@ PEAR_SUFFIX = -ds a$(program_suffix)
diff --git a/meta-oe/recipes-devtools/php/php/0007-sapi-cli-config.m4-fix-build-directory.patch b/meta-oe/recipes-devtools/php/php/0005-sapi-cli-config.m4-fix-build-directory.patch
index 9776e7f6db..e551f19a48 100644
--- a/meta-oe/recipes-devtools/php/php/0007-sapi-cli-config.m4-fix-build-directory.patch
+++ b/meta-oe/recipes-devtools/php/php/0005-sapi-cli-config.m4-fix-build-directory.patch
@@ -1,7 +1,7 @@
1From 03aa51625e0d1aa156c2f7cd71503b1f435d35a4 Mon Sep 17 00:00:00 2001 1From 581751f8b612c381a4a7914a33bfc4130853d305 Mon Sep 17 00:00:00 2001
2From: Claude Bing <cbing@cybernetics.com> 2From: Claude Bing <cbing@cybernetics.com>
3Date: Tue, 9 Nov 2021 13:08:06 -0500 3Date: Tue, 9 Nov 2021 13:08:06 -0500
4Subject: [PATCH 07/11] sapi/cli/config.m4: fix build directory 4Subject: [PATCH 5/5] sapi/cli/config.m4: fix build directory
5 5
6Upstream-Status: Inappropriate 6Upstream-Status: Inappropriate
7 7
@@ -10,23 +10,26 @@ Signed-off-by: Changqing Li <changqing.li@windriver.com>
10 10
11update patch to version 8.0.12 11update patch to version 8.0.12
12Signed-off-by: Claude Bing <cbing@cybernetics.com> 12Signed-off-by: Claude Bing <cbing@cybernetics.com>
13
14update patch for version 8.4.4
15Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
13--- 16---
14 sapi/cli/config.m4 | 2 +- 17 sapi/cli/config.m4 | 2 +-
15 1 file changed, 1 insertion(+), 1 deletion(-) 18 1 file changed, 1 insertion(+), 1 deletion(-)
16 19
17diff --git a/sapi/cli/config.m4 b/sapi/cli/config.m4 20diff --git a/sapi/cli/config.m4 b/sapi/cli/config.m4
18index d17d531683..f2f87f9164 100644 21index 76c2d64e8..0c7436fd9 100644
19--- a/sapi/cli/config.m4 22--- a/sapi/cli/config.m4
20+++ b/sapi/cli/config.m4 23+++ b/sapi/cli/config.m4
21@@ -47,7 +47,7 @@ if test "$PHP_CLI" != "no"; then 24@@ -50,7 +50,7 @@ if test "$PHP_CLI" != "no"; then
22 esac 25 ])
23 26
24 dnl Set executable for tests. 27 dnl Set executable for tests.
25- PHP_EXECUTABLE="\$(top_builddir)/\$(SAPI_CLI_PATH)" 28- PHP_EXECUTABLE="\$(top_builddir)/\$(SAPI_CLI_PATH)"
26+ PHP_EXECUTABLE="${PHP_NATIVE_DIR}/php" 29+ PHP_EXECUTABLE="${PHP_NATIVE_DIR}/php"
27 PHP_SUBST(PHP_EXECUTABLE)
28 30
29 dnl Expose to Makefile. 31 PHP_SUBST([PHP_EXECUTABLE])
32 PHP_SUBST([SAPI_CLI_PATH])
30-- 33--
312.25.1 342.25.1
32 35
diff --git a/meta-oe/recipes-devtools/php/php/0008-ext-imap-config.m4-fix-include-paths.patch b/meta-oe/recipes-devtools/php/php/0008-ext-imap-config.m4-fix-include-paths.patch
deleted file mode 100644
index 78bae58e00..0000000000
--- a/meta-oe/recipes-devtools/php/php/0008-ext-imap-config.m4-fix-include-paths.patch
+++ /dev/null
@@ -1,45 +0,0 @@
1From c3c20db4415e0f6c4a601d6f9da1f3746a96b301 Mon Sep 17 00:00:00 2001
2From: Claude Bing <cbing@cybernetics.com>
3Date: Tue, 9 Nov 2021 13:08:58 -0500
4Subject: [PATCH 08/11] ext/imap/config.m4: fix include paths
5
6Upstream-Status: Pending
7Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
8
9update patch to version 8.0.12
10Signed-off-by: Claude Bing <cbing@cybernetics.com>
11---
12 ext/imap/config.m4 | 10 ++--------
13 1 file changed, 2 insertions(+), 8 deletions(-)
14
15diff --git a/ext/imap/config.m4 b/ext/imap/config.m4
16index 5086a312d0..0e938bd544 100644
17--- a/ext/imap/config.m4
18+++ b/ext/imap/config.m4
19@@ -110,7 +110,7 @@ if test "$PHP_IMAP" != "no"; then
20 PHP_NEW_EXTENSION(imap, php_imap.c, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
21 AC_DEFINE(HAVE_IMAP,1,[ ])
22
23- for i in $PHP_IMAP /usr/local /usr; do
24+ for i in $PHP_IMAP $PHP_IMAP/usr /usr/local /usr; do
25 IMAP_INC_CHK()
26 el[]IMAP_INC_CHK(/include/c-client)
27 el[]IMAP_INC_CHK(/include/imap)
28@@ -199,13 +199,7 @@ if test "$PHP_IMAP" != "no"; then
29 AC_MSG_ERROR(Cannot find rfc822.h. Please check your c-client installation.)
30 fi
31
32- if test ! -r "$IMAP_DIR/c-client/libc-client.a" && test -r "$IMAP_DIR/c-client/c-client.a" ; then
33- ln -s "$IMAP_DIR/c-client/c-client.a" "$IMAP_DIR/c-client/libc-client.a" >/dev/null 2>&1
34- elif test ! -r "$IMAP_DIR/$PHP_LIBDIR/libc-client.a" && test -r "$IMAP_DIR/$PHP_LIBDIR/c-client.a"; then
35- ln -s "$IMAP_DIR/$PHP_LIBDIR/c-client.a" "$IMAP_DIR/$PHP_LIBDIR/libc-client.a" >/dev/null 2>&1
36- fi
37-
38- for lib in c-client4 c-client imap; do
39+ for lib in /usr/lib c-client4 c-client imap; do
40 IMAP_LIB=$lib
41 IMAP_LIB_CHK($PHP_LIBDIR)
42 IMAP_LIB_CHK(c-client)
43--
442.25.1
45
diff --git a/meta-oe/recipes-devtools/php/php/0009-php-don-t-use-broken-wrapper-for-mkdir.patch b/meta-oe/recipes-devtools/php/php/0009-php-don-t-use-broken-wrapper-for-mkdir.patch
deleted file mode 100644
index b5a33cca7f..0000000000
--- a/meta-oe/recipes-devtools/php/php/0009-php-don-t-use-broken-wrapper-for-mkdir.patch
+++ /dev/null
@@ -1,31 +0,0 @@
1From 8707720c0aea405f0e06d67354f239232cc823cc Mon Sep 17 00:00:00 2001
2From: Claude Bing <cbing@cybernetics.com>
3Date: Tue, 9 Nov 2021 13:10:02 -0500
4Subject: [PATCH 09/11] php: don't use broken wrapper for mkdir
5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7
8update patch to version 7.4.4
9Signed-off-by: Changqing Li <changqing.li@windriver.com>
10
11update patch to version 8.0.12
12Signed-off-by: Claude Bing <cbing@cybernetics.com>
13---
14Upstream-Status: Pending
15
16 build/Makefile.global | 2 +-
17 1 file changed, 1 insertion(+), 1 deletion(-)
18
19diff --git a/build/Makefile.global b/build/Makefile.global
20index 6566d052de..eb39421f2a 100644
21--- a/build/Makefile.global
22+++ b/build/Makefile.global
23@@ -1,4 +1,4 @@
24-mkinstalldirs = $(top_srcdir)/build/shtool mkdir -p
25+mkinstalldirs = mkdir -p
26 INSTALL = $(top_srcdir)/build/shtool install -c
27 INSTALL_DATA = $(INSTALL) -m 644
28
29--
302.25.1
31
diff --git a/meta-oe/recipes-devtools/php/php_8.2.16.bb b/meta-oe/recipes-devtools/php/php_8.4.10.bb
index 1cb378fb94..4d598949a1 100644
--- a/meta-oe/recipes-devtools/php/php_8.2.16.bb
+++ b/meta-oe/recipes-devtools/php/php_8.4.10.bb
@@ -1,5 +1,5 @@
1SUMMARY = "A server-side, HTML-embedded scripting language" 1SUMMARY = "A server-side, HTML-embedded scripting language"
2HOMEPAGE = "http://www.php.net" 2HOMEPAGE = "https://www.php.net"
3SECTION = "console/network" 3SECTION = "console/network"
4 4
5LICENSE = "PHP-3.0" 5LICENSE = "PHP-3.0"
@@ -13,28 +13,23 @@ DEPENDS:class-native = "zlib-native libxml2-native"
13PHP_MAJOR_VERSION = "${@d.getVar('PV').split('.')[0]}" 13PHP_MAJOR_VERSION = "${@d.getVar('PV').split('.')[0]}"
14 14
15SRC_URI = "http://php.net/distributions/php-${PV}.tar.bz2 \ 15SRC_URI = "http://php.net/distributions/php-${PV}.tar.bz2 \
16 file://0002-build-php.m4-don-t-unset-cache-variables.patch \ 16 file://0001-configure.ac-don-t-include-build-libtool.m4.patch \
17 file://0003-php-remove-host-specific-info-from-header-file.patch \ 17 file://0002-ext-phar-Makefile.frag-Fix-phar-packaging.patch \
18 file://0004-configure.ac-don-t-include-build-libtool.m4.patch \
19 file://0006-ext-phar-Makefile.frag-Fix-phar-packaging.patch \
20 file://0009-php-don-t-use-broken-wrapper-for-mkdir.patch \
21 file://0010-iconv-fix-detection.patch \
22 file://0001-Change-whether-to-inline-XXH3_hashLong_withSecret-to.patch \
23 " 18 "
24 19
25SRC_URI:append:class-target = " \ 20SRC_URI:append:class-target = " \
26 file://0001-ext-opcache-config.m4-enable-opcache.patch \ 21 file://0003-iconv-fix-detection.patch \
27 file://0005-pear-fix-Makefile.frag-for-Yocto.patch \ 22 file://0004-pear-fix-Makefile.frag-for-Yocto.patch \
28 file://0007-sapi-cli-config.m4-fix-build-directory.patch \ 23 file://0005-sapi-cli-config.m4-fix-build-directory.patch \
29 file://0008-ext-imap-config.m4-fix-include-paths.patch \
30 file://php-fpm.conf \ 24 file://php-fpm.conf \
31 file://php-fpm-apache.conf \ 25 file://php-fpm-apache.conf \
32 file://70_mod_php${PHP_MAJOR_VERSION}.conf \ 26 file://70_mod_php${PHP_MAJOR_VERSION}.conf \
33 file://php-fpm.service \ 27 file://php-fpm.service \
34 " 28 "
35 29
36S = "${WORKDIR}/php-${PV}" 30S = "${UNPACKDIR}/php-${PV}"
37SRC_URI[sha256sum] = "2658c1b8935ab6b53a7f209354602761ab07066e66920bc472b8815fd1b43f71" 31
32SRC_URI[sha256sum] = "8815d10659cde5f03be4d169205d62b7b29ed0edc7cdd84b6384cda0310c3108"
38 33
39CVE_STATUS_GROUPS += "CVE_STATUS_PHP" 34CVE_STATUS_GROUPS += "CVE_STATUS_PHP"
40CVE_STATUS_PHP[status] = "fixed-version: The name of this product is exactly the same as github.com/emlog/emlog. CVE can be safely ignored." 35CVE_STATUS_PHP[status] = "fixed-version: The name of this product is exactly the same as github.com/emlog/emlog. CVE can be safely ignored."
@@ -43,6 +38,7 @@ CVE_STATUS_PHP = " \
43 CVE-2007-3205 \ 38 CVE-2007-3205 \
44 CVE-2007-4596 \ 39 CVE-2007-4596 \
45" 40"
41CVE_STATUS[CVE-2022-4900] = "cpe-incorrect: The current version (8.2.20) is not affected."
46 42
47inherit autotools pkgconfig python3native gettext multilib_header multilib_script systemd 43inherit autotools pkgconfig python3native gettext multilib_header multilib_script systemd
48 44
@@ -51,6 +47,8 @@ inherit autotools pkgconfig python3native gettext multilib_header multilib_scrip
51SSTATE_SCAN_FILES += "phpize" 47SSTATE_SCAN_FILES += "phpize"
52SSTATE_SCAN_FILES += "build-defs.h" 48SSTATE_SCAN_FILES += "build-defs.h"
53 49
50export PHP_UNAME = "Linux"
51
54PHP_LIBDIR = "${libdir}/php${PHP_MAJOR_VERSION}" 52PHP_LIBDIR = "${libdir}/php${PHP_MAJOR_VERSION}"
55 53
56# Common EXTRA_OECONF 54# Common EXTRA_OECONF
@@ -70,10 +68,12 @@ EXTRA_OECONF = "--enable-mbstring \
70 --with-bz2=${STAGING_DIR_TARGET}${exec_prefix} \ 68 --with-bz2=${STAGING_DIR_TARGET}${exec_prefix} \
71 --with-config-file-path=${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION} \ 69 --with-config-file-path=${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION} \
72 ${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', 'ac_cv_c_bigendian_php=no', 'ac_cv_c_bigendian_php=yes', d)} \ 70 ${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', 'ac_cv_c_bigendian_php=no', 'ac_cv_c_bigendian_php=yes', d)} \
73 ${@bb.utils.contains('PACKAGECONFIG', 'pam', '', 'ac_cv_lib_pam_pam_start=no', d)} \
74 ${COMMON_EXTRA_OECONF} \ 71 ${COMMON_EXTRA_OECONF} \
75" 72"
76 73
74# Set these values directly to avoid AC_RUN_IFELSE which does not work in cross compilation environment
75CACHED_CONFIGUREVARS += "ac_cv_php_cv_shm_ipc=yes ac_cv_php_cv_shm_mmap_anon=yes ac_cv_php_cv_shm_mmap_posix=yes"
76
77EXTRA_OECONF:append:riscv64 = " --with-pcre-jit=no" 77EXTRA_OECONF:append:riscv64 = " --with-pcre-jit=no"
78EXTRA_OECONF:append:riscv32 = " --with-pcre-jit=no" 78EXTRA_OECONF:append:riscv32 = " --with-pcre-jit=no"
79# Needs fibers assembly implemented for rv32 79# Needs fibers assembly implemented for rv32
@@ -81,44 +81,36 @@ EXTRA_OECONF:append:riscv32 = " --with-pcre-jit=no"
81# see https://github.com/php/php-src/commit/70b02d75f2abe3a292d49c4a4e9e4f850c2fee68 81# see https://github.com/php/php-src/commit/70b02d75f2abe3a292d49c4a4e9e4f850c2fee68
82EXTRA_OECONF:append:riscv32:libc-musl = " --disable-fiber-asm" 82EXTRA_OECONF:append:riscv32:libc-musl = " --disable-fiber-asm"
83 83
84CACHED_CONFIGUREVARS += "ac_cv_func_dlopen=no ac_cv_lib_dl_dlopen=yes"
85
86EXTRA_OECONF:class-native = " \ 84EXTRA_OECONF:class-native = " \
87 --with-zlib=${STAGING_LIBDIR_NATIVE}/.. \ 85 --with-zlib=${STAGING_LIBDIR_NATIVE}/.. \
88 --without-iconv \ 86 --without-iconv \
89 ${COMMON_EXTRA_OECONF} \ 87 ${COMMON_EXTRA_OECONF} \
90" 88"
91 89
92PACKAGECONFIG ??= "mysql sqlite3 imap opcache openssl \ 90PACKAGECONFIG ??= "mysql sqlite3 opcache openssl \
93 ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 pam', d)} \ 91 ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 pam', d)} \
94" 92"
95PACKAGECONFIG:class-native = "" 93PACKAGECONFIG:class-native = ""
96 94
97PACKAGECONFIG[zip] = "--with-zip --with-zlib-dir=${STAGING_EXECPREFIXDIR},,libzip" 95PACKAGECONFIG[apache2] = "--with-apxs2=${STAGING_BINDIR_CROSS}/apxs,,apache2-native apache2"
98 96PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
97PACKAGECONFIG[mbregex] = "--enable-mbregex, --disable-mbregex, oniguruma"
98PACKAGECONFIG[mbstring] = "--enable-mbstring,,"
99PACKAGECONFIG[mysql] = "--with-mysqli=mysqlnd \ 99PACKAGECONFIG[mysql] = "--with-mysqli=mysqlnd \
100 --with-pdo-mysql=mysqlnd \ 100 --with-pdo-mysql=mysqlnd \
101 ,--without-mysqli --without-pdo-mysql \ 101 ,--without-mysqli --without-pdo-mysql \
102 ,mysql5" 102 ,mysql5"
103 103PACKAGECONFIG[opcache] = "--enable-opcache,--disable-opcache"
104PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl"
105PACKAGECONFIG[pam] = ",,libpam"
106PACKAGECONFIG[pgsql] = "--with-pgsql=${STAGING_DIR_TARGET}${exec_prefix},--without-pgsql,postgresql"
107PACKAGECONFIG[soap] = "--enable-soap, --disable-soap, libxml2"
104PACKAGECONFIG[sqlite3] = "--with-sqlite3=${STAGING_LIBDIR}/.. \ 108PACKAGECONFIG[sqlite3] = "--with-sqlite3=${STAGING_LIBDIR}/.. \
105 --with-pdo-sqlite=${STAGING_LIBDIR}/.. \ 109 --with-pdo-sqlite=${STAGING_LIBDIR}/.. \
106 ,--without-sqlite3 --without-pdo-sqlite \ 110 ,--without-sqlite3 --without-pdo-sqlite \
107 ,sqlite3" 111 ,sqlite3"
108PACKAGECONFIG[pgsql] = "--with-pgsql=${STAGING_DIR_TARGET}${exec_prefix},--without-pgsql,postgresql"
109PACKAGECONFIG[soap] = "--enable-soap, --disable-soap, libxml2"
110PACKAGECONFIG[apache2] = "--with-apxs2=${STAGING_BINDIR_CROSS}/apxs,,apache2-native apache2"
111PACKAGECONFIG[pam] = ",,libpam"
112PACKAGECONFIG[imap] = "--with-imap=${STAGING_DIR_HOST} \
113 --with-imap-ssl=${STAGING_DIR_HOST} \
114 ,--without-imap --without-imap-ssl \
115 ,uw-imap"
116PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
117PACKAGECONFIG[opcache] = "--enable-opcache,--disable-opcache"
118PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl"
119PACKAGECONFIG[valgrind] = "--with-valgrind=${STAGING_DIR_TARGET}/usr,--with-valgrind=no,valgrind" 112PACKAGECONFIG[valgrind] = "--with-valgrind=${STAGING_DIR_TARGET}/usr,--with-valgrind=no,valgrind"
120PACKAGECONFIG[mbregex] = "--enable-mbregex, --disable-mbregex, oniguruma" 113PACKAGECONFIG[zip] = "--with-zip --with-zlib-dir=${STAGING_EXECPREFIXDIR},,libzip"
121PACKAGECONFIG[mbstring] = "--enable-mbstring,,"
122 114
123export HOSTCC = "${BUILD_CC}" 115export HOSTCC = "${BUILD_CC}"
124export PHP_NATIVE_DIR = "${STAGING_BINDIR_NATIVE}" 116export PHP_NATIVE_DIR = "${STAGING_BINDIR_NATIVE}"
@@ -135,8 +127,6 @@ LDFLAGS:append:riscv64 = " -latomic"
135 127
136EXTRA_OEMAKE = "INSTALL_ROOT=${D}" 128EXTRA_OEMAKE = "INSTALL_ROOT=${D}"
137 129
138acpaths = ""
139
140do_configure:prepend () { 130do_configure:prepend () {
141 rm -f ${S}/build/libtool.m4 ${S}/ltmain.sh ${S}/aclocal.m4 131 rm -f ${S}/build/libtool.m4 ${S}/ltmain.sh ${S}/aclocal.m4
142 find ${S} -name config.m4 | xargs -n1 sed -i 's!APXS_HTTPD=.*!APXS_HTTPD=${STAGING_SBINDIR_NATIVE}/httpd!' 132 find ${S} -name config.m4 | xargs -n1 sed -i 's!APXS_HTTPD=.*!APXS_HTTPD=${STAGING_SBINDIR_NATIVE}/httpd!'
@@ -162,8 +152,11 @@ do_install:append:class-native() {
162} 152}
163 153
164do_install:prepend() { 154do_install:prepend() {
165 cat ${ACLOCALDIR}/libtool.m4 ${ACLOCALDIR}/lt~obsolete.m4 ${ACLOCALDIR}/ltoptions.m4 \ 155 cat ${STAGING_DATADIR}/aclocal/libtool.m4 \
166 ${ACLOCALDIR}/ltsugar.m4 ${ACLOCALDIR}/ltversion.m4 > ${S}/build/libtool.m4 156 ${STAGING_DATADIR}/aclocal/lt~obsolete.m4 \
157 ${STAGING_DATADIR}/aclocal/ltoptions.m4 \
158 ${STAGING_DATADIR}/aclocal/ltsugar.m4 \
159 ${STAGING_DATADIR}/aclocal/ltversion.m4 > ${S}/build/libtool.m4
167} 160}
168 161
169do_install:prepend:class-target() { 162do_install:prepend:class-target() {
@@ -182,19 +175,19 @@ do_install:append:class-target() {
182 rm -rf ${D}/.[a-z]* 175 rm -rf ${D}/.[a-z]*
183 rm -rf ${D}/var 176 rm -rf ${D}/var
184 rm -f ${D}/${sysconfdir}/php-fpm.conf.default 177 rm -f ${D}/${sysconfdir}/php-fpm.conf.default
185 install -m 0644 ${WORKDIR}/php-fpm.conf ${D}/${sysconfdir}/php-fpm.conf 178 install -m 0644 ${UNPACKDIR}/php-fpm.conf ${D}/${sysconfdir}/php-fpm.conf
186 install -d ${D}/${sysconfdir}/apache2/conf.d 179 install -d ${D}/${sysconfdir}/apache2/conf.d
187 install -m 0644 ${WORKDIR}/php-fpm-apache.conf ${D}/${sysconfdir}/apache2/conf.d/php-fpm.conf 180 install -m 0644 ${UNPACKDIR}/php-fpm-apache.conf ${D}/${sysconfdir}/apache2/conf.d/php-fpm.conf
188 install -d ${D}${sysconfdir}/init.d 181 install -d ${D}${sysconfdir}/init.d
189 sed -i 's:=/usr/sbin:=${sbindir}:g' ${B}/sapi/fpm/init.d.php-fpm 182 sed -i 's:=/usr/sbin:=${sbindir}:g' ${B}/sapi/fpm/init.d.php-fpm
190 sed -i 's:=/etc:=${sysconfdir}:g' ${B}/sapi/fpm/init.d.php-fpm 183 sed -i 's:=/etc:=${sysconfdir}:g' ${B}/sapi/fpm/init.d.php-fpm
191 sed -i 's:=/var:=${localstatedir}:g' ${B}/sapi/fpm/init.d.php-fpm 184 sed -i 's:=/var:=${localstatedir}:g' ${B}/sapi/fpm/init.d.php-fpm
192 install -m 0755 ${B}/sapi/fpm/init.d.php-fpm ${D}${sysconfdir}/init.d/php-fpm 185 install -m 0755 ${B}/sapi/fpm/init.d.php-fpm ${D}${sysconfdir}/init.d/php-fpm
193 install -m 0644 ${WORKDIR}/php-fpm-apache.conf ${D}/${sysconfdir}/apache2/conf.d/php-fpm.conf 186 install -m 0644 ${UNPACKDIR}/php-fpm-apache.conf ${D}/${sysconfdir}/apache2/conf.d/php-fpm.conf
194 187
195 if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)};then 188 if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)};then
196 install -d ${D}${systemd_system_unitdir} 189 install -d ${D}${systemd_system_unitdir}
197 install -m 0644 ${WORKDIR}/php-fpm.service ${D}${systemd_system_unitdir}/php-fpm.service 190 install -m 0644 ${UNPACKDIR}/php-fpm.service ${D}${systemd_system_unitdir}/php-fpm.service
198 sed -i -e 's,@LOCALSTATEDIR@,${localstatedir},g' ${D}${systemd_system_unitdir}/php-fpm.service 191 sed -i -e 's,@LOCALSTATEDIR@,${localstatedir},g' ${D}${systemd_system_unitdir}/php-fpm.service
199 sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_system_unitdir}/php-fpm.service 192 sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_system_unitdir}/php-fpm.service
200 sed -i -e 's,@BINDIR@,${bindir},g' ${D}${systemd_system_unitdir}/php-fpm.service 193 sed -i -e 's,@BINDIR@,${bindir},g' ${D}${systemd_system_unitdir}/php-fpm.service
@@ -203,7 +196,7 @@ do_install:append:class-target() {
203 if ${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'true', 'false', d)}; then 196 if ${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'true', 'false', d)}; then
204 install -d ${D}${sysconfdir}/apache2/modules.d 197 install -d ${D}${sysconfdir}/apache2/modules.d
205 install -d ${D}${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION} 198 install -d ${D}${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION}
206 install -m 644 ${WORKDIR}/70_mod_php${PHP_MAJOR_VERSION}.conf ${D}${sysconfdir}/apache2/modules.d 199 install -m 644 ${UNPACKDIR}/70_mod_php${PHP_MAJOR_VERSION}.conf ${D}${sysconfdir}/apache2/modules.d
207 sed -i s,lib/,${libexecdir}/, ${D}${sysconfdir}/apache2/modules.d/70_mod_php${PHP_MAJOR_VERSION}.conf 200 sed -i s,lib/,${libexecdir}/, ${D}${sysconfdir}/apache2/modules.d/70_mod_php${PHP_MAJOR_VERSION}.conf
208 cat ${S}/php.ini-production | \ 201 cat ${S}/php.ini-production | \
209 sed -e 's,extension_dir = \"\./\",extension_dir = \"/usr/lib/extensions\",' \ 202 sed -e 's,extension_dir = \"\./\",extension_dir = \"/usr/lib/extensions\",' \
diff --git a/meta-oe/recipes-devtools/pistache/pistache_0.4.26.bb b/meta-oe/recipes-devtools/pistache/pistache_0.4.26.bb
new file mode 100644
index 0000000000..b0a20e3ece
--- /dev/null
+++ b/meta-oe/recipes-devtools/pistache/pistache_0.4.26.bb
@@ -0,0 +1,40 @@
1SUMMARY = "A high-performance REST toolkit written in C++"
2HOMEPAGE = "https://pistacheio.github.io/pistache"
3LICENSE = "Apache-2.0"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc"
5
6SRC_URI = "git://github.com/pistacheio/pistache.git;branch=master;protocol=https"
7# SRCREV tagged 0.4.26
8SRCREV = "ddffda861aa49012dcda28f1362d0339e718cd52"
9
10
11DEPENDS = "rapidjson"
12
13inherit pkgconfig meson
14
15PACKAGECONFIG ?= "openssl brotli deflate zstd examples"
16PACKAGECONFIG[openssl] = "-DPISTACHE_USE_SSL=true, -DPISTACHE_USE_SSL=false, openssl"
17PACKAGECONFIG[brotli] = "-DPISTACHE_USE_CONTENT_ENCODING_BROTLI=true, -DPISTACHE_USE_CONTENT_ENCODING_BROTLI=false, brotli"
18PACKAGECONFIG[deflate] = "-DPISTACHE_USE_CONTENT_ENCODING_DEFLATE=true, -DPISTACHE_USE_CONTENT_ENCODING_DEFLATE=false, zlib"
19PACKAGECONFIG[zstd] = "-DPISTACHE_USE_CONTENT_ENCODING_ZSTD=true, -DPISTACHE_USE_CONTENT_ENCODING_ZSTD=false, zstd"
20PACKAGECONFIG[examples] = "-DPISTACHE_BUILD_EXAMPLES=true, -DPISTACHE_BUILD_EXAMPLES=false"
21PACKAGECONFIG[test] = "-DPISTACHE_BUILD_TESTS=true, -DPISTACHE_BUILD_TESTS=false, gtest curl"
22
23do_install:append () {
24 if ${@bb.utils.contains("PACKAGECONFIG", "examples", "true", "false", d)}; then
25 install -d ${D}${bindir}
26 rm -rf ${B}/examples/*.p/
27 install -m 0755 ${B}/examples/run* ${D}${bindir}/
28 fi
29}
30
31PACKAGES += "${PN}-examples"
32FILES:${PN}:remove = " ${bindir}/*"
33RDEPENDS:${PN}-examples += "${PN}"
34FILES:${PN}-examples = "${bindir}"
35
36RDEPENDS:${PN} += "rapidjson"
37
38COMPATIBLE_HOST:libc-musl = "null"
39
40BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/ply/ply_git.bb b/meta-oe/recipes-devtools/ply/ply_git.bb
index 7793971083..916ff29118 100644
--- a/meta-oe/recipes-devtools/ply/ply_git.bb
+++ b/meta-oe/recipes-devtools/ply/ply_git.bb
@@ -5,12 +5,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
5 5
6DEPENDS += "bison-native" 6DEPENDS += "bison-native"
7 7
8PV = "2.3.0" 8PV = "2.4.0"
9 9
10SRC_URI = "git://github.com/iovisor/ply;branch=master;protocol=https" 10SRC_URI = "git://github.com/iovisor/ply;branch=master;protocol=https"
11SRCREV = "864fac79116870df1ab7aa21e639578807e41e75" 11SRCREV = "282558cfa1c0f0e095354e3a6ec4486b524179dc"
12 12
13S = "${WORKDIR}/git"
14 13
15CACHED_CONFIGUREVARS = 'LD="${HOST_PREFIX}ld.bfd${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}"' 14CACHED_CONFIGUREVARS = 'LD="${HOST_PREFIX}ld.bfd${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}"'
16 15
diff --git a/meta-oe/recipes-devtools/pmtools/pmtools/pmtools-switch-to-dynamic-buffer-for-huge-ACPI-table.patch b/meta-oe/recipes-devtools/pmtools/pmtools/pmtools-switch-to-dynamic-buffer-for-huge-ACPI-table.patch
deleted file mode 100644
index 3be18986fc..0000000000
--- a/meta-oe/recipes-devtools/pmtools/pmtools/pmtools-switch-to-dynamic-buffer-for-huge-ACPI-table.patch
+++ /dev/null
@@ -1,82 +0,0 @@
1From 03a886252f6555d6b0af76b654e76459642b89da Mon Sep 17 00:00:00 2001
2From: Yunguo Wei <yunguo.wei@windriver.com>
3Date: Tue, 3 Dec 2013 18:12:50 +0800
4Subject: [PATCH] pmtools: switch to dynamic buffer for huge ACPI tables
5
6For servers like Canoe Pass or Thunder Ridge, there are much more
7entries in ACPI table, so original 1K buffer is insufficient.
8
9We switch to dynamic buffer on this situation.
10
11Signed-off-by: Yunguo Wei <yunguo.wei@windriver.com>
12
13
14Upstream-Status: Pending
15
16Signed-off-by: Kai Kang <kai.kang@windriver.com>
17---
18 madt/madt.c | 18 +++++++++++++++++-
19 1 file changed, 17 insertions(+), 1 deletion(-)
20
21--- a/madt/madt.c
22+++ b/madt/madt.c
23@@ -34,14 +34,16 @@ typedef unsigned long long u64;
24 //#include <sys/mman.h>
25 #include <stdio.h> // fread
26 #include <stdlib.h> // malloc
27+#include <string.h> // memset/memcpy
28
29 #include "./tables.c"
30
31 int verbose = 0;
32 /*
33-/* read standard input
34+ * read standard input
35 * write decoded madt to standard output
36 */
37+size_t
38 get_next_entry(acpi_table_entry_header * entry_header)
39 {
40 size_t retval;
41@@ -51,9 +53,11 @@ get_next_entry(acpi_table_entry_header *
42 return retval;
43 }
44
45-u8 buffer[1024];
46
47-main()
48+u8 buf[1024];
49+u8 *buffer = buf;
50+int
51+main(int argc, char *argv[])
52 {
53 size_t retval;
54 struct acpi_table_madt *madt_header;
55@@ -75,6 +79,17 @@ main()
56
57 if (verbose) printf("header.length %d\n", madt_header->header.length);
58
59+ /* if 1K buffer is insufficient for acpi table, switch to a larger memory buffer */
60+ if(expected_length > sizeof(buf)) {
61+ buffer = malloc(expected_length);
62+ if (!buffer) {
63+ perror("malloc");
64+ exit(1);
65+ }
66+ memset(buffer, 0, expected_length);
67+ memcpy(buffer, buf, sizeof(struct acpi_table_madt));
68+ }
69+
70 acpi_table_print((void*)&(buffer[bytes_read]), 0);
71
72 bytes_read = sizeof(struct acpi_table_madt);
73@@ -118,6 +133,9 @@ done:
74 printf("Checksum 0x%x != 0; 0x%x in header ERROR\n", csum,
75 madt_header->header.checksum);
76
77+ if(buffer != buf)
78+ free(buffer);
79+
80 return 0;
81 }
82
diff --git a/meta-oe/recipes-devtools/pmtools/pmtools_git.bb b/meta-oe/recipes-devtools/pmtools/pmtools_git.bb
deleted file mode 100644
index ad149de12c..0000000000
--- a/meta-oe/recipes-devtools/pmtools/pmtools_git.bb
+++ /dev/null
@@ -1,34 +0,0 @@
1DESCRIPTION = "This is a small collection of power management \
2 test and investigation tools"
3HOMEPAGE = "http://lesswatts.org/projects/acpi"
4LICENSE = "GPL-2.0-or-later"
5LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
6
7PV = "20130209+git"
8
9SRC_URI = "git://github.com/anyc/pmtools.git;branch=master;protocol=https \
10 file://pmtools-switch-to-dynamic-buffer-for-huge-ACPI-table.patch \
11"
12SRCREV = "3ebe0e54c54061b4c627236cbe35d820de2e1168"
13
14COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
15
16S = "${WORKDIR}/git"
17
18inherit update-alternatives
19
20ALTERNATIVE_PRIORITY = "90"
21ALTERNATIVE:${PN} = "acpixtract acpidump"
22
23do_configure[noexec] = "1"
24do_compile() {
25 oe_runmake
26}
27
28do_install() {
29 install -d ${D}${bindir} ${D}${docdir}
30 install -m 755 ${S}/acpidump/acpidump ${D}${bindir}
31 install -m 755 ${S}/acpixtract/acpixtract ${D}${bindir}
32 install -m 755 ${S}/madt/madt ${D}${bindir}
33 install -m 644 ${S}/README ${D}${docdir}
34}
diff --git a/meta-oe/recipes-devtools/pocketpy/pocketpy_2.0.6.bb b/meta-oe/recipes-devtools/pocketpy/pocketpy_2.0.6.bb
new file mode 100644
index 0000000000..f3ffccf626
--- /dev/null
+++ b/meta-oe/recipes-devtools/pocketpy/pocketpy_2.0.6.bb
@@ -0,0 +1,33 @@
1SUMMARY = "A Portable Python 3.x Interpreter in Modern C."
2DESCRIPTION = "pkpy is a lightweight(~15K LOC) Python 3.x \
3 interpreter for game scripting, written in C11. \
4 It aims to be an alternative to lua for game \
5 scripting, with elegant syntax, powerful features \
6 and competitive performance. pkpy is extremely \
7 easy to embed via a single header file pocketpy.h, \
8 without external dependencies. \
9 "
10HOMEPAGE = "https://pocketpy.dev/"
11BUGTRACKER = "https://github.com/pocketpy/pocketpy/issues"
12
13LICENSE = "MIT"
14LIC_FILES_CHKSUM = "file://LICENSE;md5=8cdfa87bc5e09bc07f8cf64135026d91"
15
16SRC_URI = "git://github.com/pocketpy/pocketpy.git;protocol=https;branch=main"
17SRCREV = "8a3bdd7e0a43b44e3b32548543128d95e68a3802"
18
19
20inherit cmake
21
22CFLAGS += "-fPIC"
23
24do_install() {
25 install -d ${D}${libdir}
26 install -m 0644 ${B}/libpocketpy.so ${D}${libdir}/
27 install -d ${D}${includedir}/pocketpy
28 cp -r ${S}/include/* ${D}${includedir}/pocketpy/
29}
30
31FILES:${PN} = "${libdir}/libpocketpy.so"
32FILES:${PN}-dev = "${includedir}/pocketpy"
33FILES:${PN}-dbg += "${libdir}/.debug/libpocketpy.so"
diff --git a/meta-oe/recipes-devtools/poke/poke/0001-build-do-not-check-for-Tcl-Tk-if-disable-gui-is-spec.patch b/meta-oe/recipes-devtools/poke/poke/0001-build-do-not-check-for-Tcl-Tk-if-disable-gui-is-spec.patch
deleted file mode 100644
index a41f985eb8..0000000000
--- a/meta-oe/recipes-devtools/poke/poke/0001-build-do-not-check-for-Tcl-Tk-if-disable-gui-is-spec.patch
+++ /dev/null
@@ -1,45 +0,0 @@
1From cef3fc90f02ef4fc49515745194bac3d81a2265b Mon Sep 17 00:00:00 2001
2From: "Jose E. Marchesi" <jose.marchesi@oracle.com>
3Date: Fri, 30 Apr 2021 13:17:05 +0200
4Subject: [PATCH] build: do not check for Tcl/Tk if --disable-gui is specified
5
62021-04-30 Jose E. Marchesi <jemarch@gnu.org>
7
8 * configure.ac: Do not check for tcl/tk if --disable-gui is
9 specified at configure time.
10
11(cherry picked from commit 280a5e154287e43c0a40d9530a9cc658a7367a9c)
12[Romain: remove Changelog entry]
13Signed-off-by: Romain Naour <romain.naour@gmail.com>
14---
15Upstream-Status: Pending
16
17 configure.ac | 9 ++++++---
18 1 file changed, 6 insertions(+), 3 deletions(-)
19
20diff --git a/configure.ac b/configure.ac
21index c7205513..c2f0760a 100644
22--- a/configure.ac
23+++ b/configure.ac
24@@ -214,12 +214,15 @@ fi
25 dnl The GUI is optional, and depends on the availability of Tcl and
26 dnl Tk.
27
28-POKE_TCLTK
29-
30 AC_ARG_ENABLE([gui],
31 AS_HELP_STRING([--enable-gui],
32 [Enable the GUI (default is YES)]),
33- [gui_enabled=$enableval], [gui_enabled=$has_tcltk])
34+ [gui_enabled=$enableval], [gui_enabled=yes])
35+
36+if test "x$gui_enabled" = "xyes"; then
37+ POKE_TCLTK
38+ gui_enabled=$has_tcltk
39+fi
40
41 AM_CONDITIONAL([GUI], [test "x$gui_enabled" = "xyes"])
42
43--
442.30.2
45
diff --git a/meta-oe/recipes-devtools/poke/poke/0002-jitter-jitter-config.in-avoit-host-poisoning-while-c.patch b/meta-oe/recipes-devtools/poke/poke/0002-jitter-jitter-config.in-avoit-host-poisoning-while-c.patch
deleted file mode 100644
index 660b19f514..0000000000
--- a/meta-oe/recipes-devtools/poke/poke/0002-jitter-jitter-config.in-avoit-host-poisoning-while-c.patch
+++ /dev/null
@@ -1,47 +0,0 @@
1From c37419e459bd5863534719fa50755174d0912e6d Mon Sep 17 00:00:00 2001
2From: Romain Naour <romain.naour@gmail.com>
3Date: Fri, 30 Apr 2021 14:32:21 +0200
4Subject: [PATCH] jitter: jitter-config.in: avoit host poisoning while
5 cross-compiling
6
7When jitter is bundled into another project (poke), jitter-config --cppflags
8return an unsafe path "-I /usr/include".
9
10In the context of Buildroot, such configuration script woulf be "fixed"
11after installation. But jitter-config is not installed by poke since it's
12build as static library and liked to poke.
13
14For now, patch jitter-config.in instead of jitter-config.in.m4sh since
15there is an issue while converting the M4sh m4sh script ( .in.m4sh )
16into a portable shell script ( .in ) ready to be processed by aclocal
17for @-substitutions.
18
19[1] https://git.buildroot.net/buildroot/tree/package/pkg-generic.mk?h=2021.02.1#n291
20
21Signed-off-by: Romain Naour <romain.naour@gmail.com>
22---
23Upstream-Status: Pending
24
25 jitter/bin/jitter-config.in | 6 +-----
26 1 file changed, 1 insertion(+), 5 deletions(-)
27
28diff --git a/jitter/bin/jitter-config.in b/jitter/bin/jitter-config.in
29index 5e124f0..af0ac9d 100644
30--- a/jitter/bin/jitter-config.in
31+++ b/jitter/bin/jitter-config.in
32@@ -998,11 +998,7 @@ while test "$#" != "0"; do
33 append_to_output cflags;;
34 --cppflags)
35 no_option_argument
36- append_to_output cppflags
37- # Append a -I argument. This is defined separately from the rest,
38- # as the installation prefix can be decided very late, at Jitter
39- # installation time.
40- output="$output -I $includedir";;
41+ append_to_output cppflags;;
42 --ldadd)
43 no_option_argument
44 append_to_output ldadd;;
45--
462.30.2
47
diff --git a/meta-oe/recipes-devtools/poke/poke/0003-configure.ac-HELP2MAN-replace-by-true-when-cross-com.patch b/meta-oe/recipes-devtools/poke/poke/0003-configure.ac-HELP2MAN-replace-by-true-when-cross-com.patch
index ad2bf764d3..67384b73d4 100644
--- a/meta-oe/recipes-devtools/poke/poke/0003-configure.ac-HELP2MAN-replace-by-true-when-cross-com.patch
+++ b/meta-oe/recipes-devtools/poke/poke/0003-configure.ac-HELP2MAN-replace-by-true-when-cross-com.patch
@@ -11,18 +11,16 @@ Avoid:
11 ./../poke/poke -o ./poke.1 11 ./../poke/poke -o ./poke.1
12../run: line 51: exec: :: not found 12../run: line 51: exec: :: not found
13 13
14Upstream-Status: Pending
14Signed-off-by: Romain Naour <romain.naour@gmail.com> 15Signed-off-by: Romain Naour <romain.naour@gmail.com>
15--- 16---
16Upstream-Status: Pending
17 17
18 configure.ac | 2 +- 18 configure.ac | 2 +-
19 1 file changed, 1 insertion(+), 1 deletion(-) 19 1 file changed, 1 insertion(+), 1 deletion(-)
20 20
21diff --git a/configure.ac b/configure.ac
22index c2f0760a..93769ef9 100644
23--- a/configure.ac 21--- a/configure.ac
24+++ b/configure.ac 22+++ b/configure.ac
25@@ -74,7 +74,7 @@ gl_LIBTEXTSTYLE_OPTIONAL([0.20.5]) 23@@ -148,7 +148,7 @@ gl_LIBTEXTSTYLE_OPTIONAL([0.20.5])
26 if test $cross_compiling = no; then 24 if test $cross_compiling = no; then
27 AM_MISSING_PROG(HELP2MAN, help2man) 25 AM_MISSING_PROG(HELP2MAN, help2man)
28 else 26 else
@@ -30,7 +28,4 @@ index c2f0760a..93769ef9 100644
30+ HELP2MAN=true 28+ HELP2MAN=true
31 fi 29 fi
32 30
33 dnl recfix is part of the GNU recutils suite, and is used in cfg.mk to 31 dnl The following Automake conditional is used in some Makefile.am files
34--
352.30.2
36
diff --git a/meta-oe/recipes-devtools/poke/poke_1.2.bb b/meta-oe/recipes-devtools/poke/poke_4.2.bb
index af85d21705..0ae392947e 100644
--- a/meta-oe/recipes-devtools/poke/poke_1.2.bb
+++ b/meta-oe/recipes-devtools/poke/poke_4.2.bb
@@ -6,21 +6,14 @@ LICENSE = "GPL-3.0-or-later"
6LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" 6LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
7 7
8SRC_URI = "${GNU_MIRROR}/poke/poke-${PV}.tar.gz \ 8SRC_URI = "${GNU_MIRROR}/poke/poke-${PV}.tar.gz \
9 file://0001-build-do-not-check-for-Tcl-Tk-if-disable-gui-is-spec.patch \
10 file://0002-jitter-jitter-config.in-avoit-host-poisoning-while-c.patch \
11 file://0003-configure.ac-HELP2MAN-replace-by-true-when-cross-com.patch \ 9 file://0003-configure.ac-HELP2MAN-replace-by-true-when-cross-com.patch \
12 " 10 "
13 11
14DEPENDS = "flex-native bison-native bdwgc readline" 12DEPENDS = "flex-native bison-native bdwgc readline"
15 13
16SRC_URI[sha256sum] = "f61cf8da5b64c01a1359373725aad1ca257f35c1c9269e4d50dd0664183ddf62" 14SRC_URI[sha256sum] = "8aaf36e61e367a53140ea40e2559e9ec512e779c42bee34e7ac24b34ba119bde"
17 15
18# poke does not support using out-of-tree builds 16inherit autotools gettext pkgconfig
19inherit autotools-brokensep gettext pkgconfig
20
21# The automatic m4 path detection gets confused, so force the right value from
22# the poke bootstrap script.
23acpaths = "-I ./m4"
24 17
25EXTRA_OECONF = "--disable-gui \ 18EXTRA_OECONF = "--disable-gui \
26 --disable-libnbd \ 19 --disable-libnbd \
@@ -29,4 +22,10 @@ EXTRA_OECONF = "--disable-gui \
29 22
30PACKAGECONFIG[mi] = "--enable-mi,--disable-mi,json-c" 23PACKAGECONFIG[mi] = "--enable-mi,--disable-mi,json-c"
31 24
32FILES:${PN} += "${datadir}/emacs/site-lisp" 25PACKAGES =+ "${PN}-emacs ${PN}-vim"
26
27# Disable parallel install as it is not supported upstream
28PARALLEL_MAKEINST = "-j1"
29
30FILES:${PN}-emacs += "${datadir}/emacs/site-lisp"
31FILES:${PN}-vim += "${datadir}/vim/vimfiles"
diff --git a/meta-oe/recipes-devtools/protobuf/protobuf-c/0001-Makefile.am-do-not-compile-the-code-which-was-genera.patch b/meta-oe/recipes-devtools/protobuf/protobuf-c/0001-Makefile.am-do-not-compile-the-code-which-was-genera.patch
index 896a568e19..cae68e948b 100644
--- a/meta-oe/recipes-devtools/protobuf/protobuf-c/0001-Makefile.am-do-not-compile-the-code-which-was-genera.patch
+++ b/meta-oe/recipes-devtools/protobuf/protobuf-c/0001-Makefile.am-do-not-compile-the-code-which-was-genera.patch
@@ -1,6 +1,6 @@
1From 62b2fd0a150133b6439f6537cb1762d35f5790ee Mon Sep 17 00:00:00 2001 1From ad4d22cd6b0b1237a4d50699736d38cd3c902ace Mon Sep 17 00:00:00 2001
2From: Xiangyu Chen <xiangyu.chen@windriver.com> 2From: Xiangyu Chen <xiangyu.chen@windriver.com>
3Date: Fri, 31 Mar 2023 16:02:50 +0800 3Date: Wed, 12 Mar 2025 00:16:24 -0700
4Subject: [PATCH] Makefile.am: do not compile the code which was generated from 4Subject: [PATCH] Makefile.am: do not compile the code which was generated from
5 test-full.proto in protobuf-c-native 5 test-full.proto in protobuf-c-native
6 6
@@ -11,15 +11,18 @@ the test-full.proto with latest version protobuf.
11Upstream-Status: Inappropriate [oe specific] 11Upstream-Status: Inappropriate [oe specific]
12 12
13Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com> 13Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
14
15Rebase to 1.5.1
16Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
14--- 17---
15 Makefile.am | 75 ----------------------------------------------------- 18 Makefile.am | 75 -----------------------------------------------------
16 1 file changed, 75 deletions(-) 19 1 file changed, 75 deletions(-)
17 20
18diff --git a/Makefile.am b/Makefile.am 21diff --git a/Makefile.am b/Makefile.am
19index ff12664..7412aef 100644 22index 77aa9d9..5cdd81a 100644
20--- a/Makefile.am 23--- a/Makefile.am
21+++ b/Makefile.am 24+++ b/Makefile.am
22@@ -136,81 +136,6 @@ else 25@@ -138,81 +138,6 @@ else
23 26
24 LOG_COMPILER = $(VALGRIND) 27 LOG_COMPILER = $(VALGRIND)
25 28
@@ -72,20 +75,20 @@ index ff12664..7412aef 100644
72-t_generated_code2_cxx_generate_packed_data_LDADD = \ 75-t_generated_code2_cxx_generate_packed_data_LDADD = \
73- $(protobuf_LIBS) 76- $(protobuf_LIBS)
74- 77-
75-t/test.pb-c.c t/test.pb-c.h: $(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) $(top_srcdir)/t/test.proto 78-t/test.pb-c.c t/test.pb-c.h: $(top_builddir)/protoc-gen-c/protoc-gen-c$(EXEEXT) $(top_srcdir)/t/test.proto
76- $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) --c_out=$(top_builddir) $(top_srcdir)/t/test.proto 79- $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-gen-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) --c_out=$(top_builddir) $(top_srcdir)/t/test.proto
77- 80-
78-t/test-optimized.pb-c.c t/test-optimized.pb-c.h: $(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) $(top_srcdir)/t/test-optimized.proto 81-t/test-optimized.pb-c.c t/test-optimized.pb-c.h: $(top_builddir)/protoc-gen-c/protoc-gen-c$(EXEEXT) $(top_srcdir)/t/test-optimized.proto
79- $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) --c_out=$(top_builddir) $(top_srcdir)/t/test-optimized.proto 82- $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-gen-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) --c_out=$(top_builddir) $(top_srcdir)/t/test-optimized.proto
80- 83-
81-t/test-full.pb-c.c t/test-full.pb-c.h: $(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) $(top_srcdir)/t/test-full.proto 84-t/test-full.pb-c.c t/test-full.pb-c.h: $(top_builddir)/protoc-gen-c/protoc-gen-c$(EXEEXT) $(top_srcdir)/t/test-full.proto
82- $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) --c_out=$(top_builddir) $(top_srcdir)/t/test-full.proto 85- $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-gen-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) --c_out=$(top_builddir) $(top_srcdir)/t/test-full.proto
83- 86-
84-t/test-full.pb.cc t/test-full.pb.h: @PROTOC@ $(top_srcdir)/t/test-full.proto 87-t/test-full.pb.cc t/test-full.pb.h: @PROTOC@ $(top_srcdir)/t/test-full.proto
85- $(AM_V_GEN)@PROTOC@ -I$(top_srcdir) --cpp_out=$(top_builddir) $(top_srcdir)/t/test-full.proto 88- $(AM_V_GEN)@PROTOC@ -I$(top_srcdir) --cpp_out=$(top_builddir) $(top_srcdir)/t/test-full.proto
86- 89-
87-t/test-proto3.pb-c.c t/test-proto3.pb-c.h: $(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) $(top_srcdir)/t/test-proto3.proto 90-t/test-proto3.pb-c.c t/test-proto3.pb-c.h: $(top_builddir)/protoc-gen-c/protoc-gen-c$(EXEEXT) $(top_srcdir)/t/test-proto3.proto
88- $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) --c_out=$(top_builddir) $(top_srcdir)/t/test-proto3.proto 91- $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-gen-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) --c_out=$(top_builddir) $(top_srcdir)/t/test-proto3.proto
89- 92-
90-t/generated-code2/test-full-cxx-output.inc: t/generated-code2/cxx-generate-packed-data$(EXEEXT) 93-t/generated-code2/test-full-cxx-output.inc: t/generated-code2/cxx-generate-packed-data$(EXEEXT)
91- $(AM_V_GEN)$(top_builddir)/t/generated-code2/cxx-generate-packed-data$(EXEEXT) > $(top_builddir)/t/generated-code2/test-full-cxx-output.inc 94- $(AM_V_GEN)$(top_builddir)/t/generated-code2/cxx-generate-packed-data$(EXEEXT) > $(top_builddir)/t/generated-code2/test-full-cxx-output.inc
@@ -102,5 +105,5 @@ index ff12664..7412aef 100644
102 t/version/version.c 105 t/version/version.c
103 t_version_version_LDADD = \ 106 t_version_version_LDADD = \
104-- 107--
1052.34.1 1082.25.1
106 109
diff --git a/meta-oe/recipes-devtools/protobuf/protobuf-c/protobuf-30.patch b/meta-oe/recipes-devtools/protobuf/protobuf-c/protobuf-30.patch
new file mode 100644
index 0000000000..1aae1f17b0
--- /dev/null
+++ b/meta-oe/recipes-devtools/protobuf/protobuf-c/protobuf-30.patch
@@ -0,0 +1,1446 @@
1From b28683f8027bf1e886b748b5603eb16d203b5a92 Mon Sep 17 00:00:00 2001
2From: Robert Edmonds <edmonds@users.noreply.github.com>
3Date: Sat, 8 Feb 2025 18:18:33 -0500
4Subject: [PATCH 01/11] protoc-gen-c/c_helpers.h: Move compat defines into new
5 header file compat.h
6
7Upstream-Status: Backport [https://gitlab.archlinux.org/archlinux/packaging/packages/protobuf-c/-/blob/main/protobuf-30.patch]
8Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
9
10---
11 protoc-gen-c/c_field.cc | 1 +
12 protoc-gen-c/c_helpers.cc | 1 +
13 protoc-gen-c/c_helpers.h | 10 -------
14 protoc-gen-c/c_message.cc | 1 +
15 protoc-gen-c/c_primitive_field.cc | 1 +
16 protoc-gen-c/compat.h | 46 +++++++++++++++++++++++++++++++
17 protoc-gen-c/main.cc | 1 +
18 7 files changed, 51 insertions(+), 10 deletions(-)
19 create mode 100644 protoc-gen-c/compat.h
20
21diff --git a/protoc-gen-c/c_field.cc b/protoc-gen-c/c_field.cc
22index 5e79967b..d6d8597e 100644
23--- a/protoc-gen-c/c_field.cc
24+++ b/protoc-gen-c/c_field.cc
25@@ -74,6 +74,7 @@
26 #include "c_message_field.h"
27 #include "c_primitive_field.h"
28 #include "c_string_field.h"
29+#include "compat.h"
30
31 namespace protobuf_c {
32
33diff --git a/protoc-gen-c/c_helpers.cc b/protoc-gen-c/c_helpers.cc
34index 5edcf904..c38843f8 100644
35--- a/protoc-gen-c/c_helpers.cc
36+++ b/protoc-gen-c/c_helpers.cc
37@@ -73,6 +73,7 @@
38 #include <google/protobuf/stubs/common.h>
39
40 #include "c_helpers.h"
41+#include "compat.h"
42
43 namespace protobuf_c {
44
45diff --git a/protoc-gen-c/c_helpers.h b/protoc-gen-c/c_helpers.h
46index 943676e9..e69504bb 100644
47--- a/protoc-gen-c/c_helpers.h
48+++ b/protoc-gen-c/c_helpers.h
49@@ -186,16 +186,6 @@ inline int FieldSyntax(const google::protobuf::FieldDescriptor* field) {
50 return 2;
51 }
52
53-// Work around changes in protobuf >= 22.x without breaking compilation against
54-// older protobuf versions.
55-#if GOOGLE_PROTOBUF_VERSION >= 4022000
56-# define GOOGLE_ARRAYSIZE ABSL_ARRAYSIZE
57-# define GOOGLE_CHECK_EQ ABSL_CHECK_EQ
58-# define GOOGLE_CHECK_EQ ABSL_CHECK_EQ
59-# define GOOGLE_DCHECK_GE ABSL_DCHECK_GE
60-# define GOOGLE_LOG ABSL_LOG
61-#endif
62-
63 } // namespace protobuf_c
64
65 #endif // PROTOBUF_C_PROTOC_GEN_C_C_HELPERS_H__
66diff --git a/protoc-gen-c/c_message.cc b/protoc-gen-c/c_message.cc
67index d4a9a01e..46413873 100644
68--- a/protoc-gen-c/c_message.cc
69+++ b/protoc-gen-c/c_message.cc
70@@ -78,6 +78,7 @@
71 #include "c_extension.h"
72 #include "c_helpers.h"
73 #include "c_message.h"
74+#include "compat.h"
75
76 namespace protobuf_c {
77
78diff --git a/protoc-gen-c/c_primitive_field.cc b/protoc-gen-c/c_primitive_field.cc
79index 253b00bd..588f60e6 100644
80--- a/protoc-gen-c/c_primitive_field.cc
81+++ b/protoc-gen-c/c_primitive_field.cc
82@@ -67,6 +67,7 @@
83
84 #include "c_helpers.h"
85 #include "c_primitive_field.h"
86+#include "compat.h"
87
88 namespace protobuf_c {
89
90diff --git a/protoc-gen-c/compat.h b/protoc-gen-c/compat.h
91new file mode 100644
92index 00000000..2ee78281
93--- /dev/null
94+++ b/protoc-gen-c/compat.h
95@@ -0,0 +1,46 @@
96+// Copyright (c) 2008-2025, Dave Benson and the protobuf-c authors.
97+// All rights reserved.
98+//
99+// Redistribution and use in source and binary forms, with or without
100+// modification, are permitted provided that the following conditions are
101+// met:
102+//
103+// * Redistributions of source code must retain the above copyright
104+// notice, this list of conditions and the following disclaimer.
105+//
106+// * Redistributions in binary form must reproduce the above
107+// copyright notice, this list of conditions and the following disclaimer
108+// in the documentation and/or other materials provided with the
109+// distribution.
110+//
111+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
112+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
113+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
114+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
115+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
116+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
117+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
118+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
119+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
120+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
121+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
122+
123+#ifndef PROTOBUF_C_PROTOC_GEN_C_COMPAT_H__
124+#define PROTOBUF_C_PROTOC_GEN_C_COMPAT_H__
125+
126+#if GOOGLE_PROTOBUF_VERSION >= 4022000
127+# define GOOGLE_ARRAYSIZE ABSL_ARRAYSIZE
128+# define GOOGLE_CHECK_EQ ABSL_CHECK_EQ
129+# define GOOGLE_DCHECK_GE ABSL_DCHECK_GE
130+# define GOOGLE_LOG ABSL_LOG
131+#endif
132+
133+namespace protobuf_c {
134+
135+namespace compat {
136+
137+} // namespace compat
138+
139+} // namespace protobuf_c
140+
141+#endif // PROTOBUF_C_PROTOC_GEN_C_COMPAT_H__
142diff --git a/protoc-gen-c/main.cc b/protoc-gen-c/main.cc
143index 0656c113..5ab929d3 100644
144--- a/protoc-gen-c/main.cc
145+++ b/protoc-gen-c/main.cc
146@@ -32,6 +32,7 @@
147
148 #include "c_generator.h"
149 #include "c_helpers.h"
150+#include "compat.h"
151
152 int main(int argc, char* argv[]) {
153 protobuf_c::CGenerator c_generator;
154
155From 1678f1fba6f2d3e5c1db2817495ddcd72bd4e87b Mon Sep 17 00:00:00 2001
156From: Robert Edmonds <edmonds@users.noreply.github.com>
157Date: Sat, 8 Feb 2025 20:09:03 -0500
158Subject: [PATCH 02/11] protoc-gen-c/compat.h: Add `compat::StringView` type
159
160protobuf >= 30.x replaces `const std::string&` in various APIs with
161its own string view type that may actually be a `absl::string_view`.
162Introduce our own `compat::StringView` type that we can use instead
163of `const std::string&` in order to support compiling across multiple
164protobuf versions.
165---
166 protoc-gen-c/compat.h | 8 ++++++++
167 1 file changed, 8 insertions(+)
168
169diff --git a/protoc-gen-c/compat.h b/protoc-gen-c/compat.h
170index 2ee78281..fe8041b5 100644
171--- a/protoc-gen-c/compat.h
172+++ b/protoc-gen-c/compat.h
173@@ -28,6 +28,8 @@
174 #ifndef PROTOBUF_C_PROTOC_GEN_C_COMPAT_H__
175 #define PROTOBUF_C_PROTOC_GEN_C_COMPAT_H__
176
177+#include <string>
178+
179 #if GOOGLE_PROTOBUF_VERSION >= 4022000
180 # define GOOGLE_ARRAYSIZE ABSL_ARRAYSIZE
181 # define GOOGLE_CHECK_EQ ABSL_CHECK_EQ
182@@ -39,6 +41,12 @@ namespace protobuf_c {
183
184 namespace compat {
185
186+#if GOOGLE_PROTOBUF_VERSION >= 6030000
187+typedef google::protobuf::internal::DescriptorStringView StringView;
188+#else
189+typedef const std::string& StringView;
190+#endif
191+
192 } // namespace compat
193
194 } // namespace protobuf_c
195
196From db5252c131c82fb48ee599179b6989a577b7fbc8 Mon Sep 17 00:00:00 2001
197From: Robert Edmonds <edmonds@users.noreply.github.com>
198Date: Sat, 8 Feb 2025 20:13:44 -0500
199Subject: [PATCH 03/11] Remove some unused functions
200
201---
202 protoc-gen-c/c_helpers.cc | 64 ---------------------------------------
203 protoc-gen-c/c_helpers.h | 3 --
204 2 files changed, 67 deletions(-)
205
206diff --git a/protoc-gen-c/c_helpers.cc b/protoc-gen-c/c_helpers.cc
207index c38843f8..bbb4a615 100644
208--- a/protoc-gen-c/c_helpers.cc
209+++ b/protoc-gen-c/c_helpers.cc
210@@ -90,14 +90,6 @@ namespace protobuf_c {
211 #pragma warning(disable:4996)
212 #endif
213
214-std::string DotsToUnderscores(const std::string& name) {
215- return StringReplace(name, ".", "_", true);
216-}
217-
218-std::string DotsToColons(const std::string& name) {
219- return StringReplace(name, ".", "::", true);
220-}
221-
222 std::string SimpleFtoa(float f) {
223 char buf[100];
224 snprintf(buf,sizeof(buf),"%.*g", FLT_DIG, f);
225@@ -333,11 +325,6 @@ std::string FilenameIdentifier(const std::string& filename) {
226 return result;
227 }
228
229-// Return the name of the BuildDescriptors() function for a given file.
230-std::string GlobalBuildDescriptorsName(const std::string& filename) {
231- return "proto_BuildDescriptors_" + FilenameIdentifier(filename);
232-}
233-
234 std::string GetLabelName(google::protobuf::FieldDescriptor::Label label) {
235 switch (label) {
236 case google::protobuf::FieldDescriptor::LABEL_OPTIONAL: return "optional";
237@@ -392,57 +379,6 @@ WriteIntRanges(google::protobuf::io::Printer* printer, int n_values, const int *
238 }
239 }
240
241-
242-
243-// XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx
244-// XXXXXXXXX this stuff is copied from strutils.cc !!!! XXXXXXXXXXXXXXXXXXXXXXXXXXXXx
245-// XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx
246-// ----------------------------------------------------------------------
247-// StringReplace()
248-// Replace the "old" pattern with the "new" pattern in a string,
249-// and append the result to "res". If replace_all is false,
250-// it only replaces the first instance of "old."
251-// ----------------------------------------------------------------------
252-
253-void StringReplace(const std::string& s, const std::string& oldsub,
254- const std::string& newsub, bool replace_all,
255- std::string* res) {
256- if (oldsub.empty()) {
257- res->append(s); // if empty, append the given string.
258- return;
259- }
260-
261- std::string::size_type start_pos = 0;
262- std::string::size_type pos;
263- do {
264- pos = s.find(oldsub, start_pos);
265- if (pos == std::string::npos) {
266- break;
267- }
268- res->append(s, start_pos, pos - start_pos);
269- res->append(newsub);
270- start_pos = pos + oldsub.size(); // start searching again after the "old"
271- } while (replace_all);
272- res->append(s, start_pos, s.length() - start_pos);
273-}
274-
275-
276-// ----------------------------------------------------------------------
277-// StringReplace()
278-// Give me a string and two patterns "old" and "new", and I replace
279-// the first instance of "old" in the string with "new", if it
280-// exists. If "global" is true; call this repeatedly until it
281-// fails. RETURN a new string, regardless of whether the replacement
282-// happened or not.
283-// ----------------------------------------------------------------------
284-
285-std::string StringReplace(const std::string& s, const std::string& oldsub,
286- const std::string& newsub, bool replace_all) {
287- std::string ret;
288- StringReplace(s, oldsub, newsub, replace_all, &ret);
289- return ret;
290-}
291-
292 // ----------------------------------------------------------------------
293 // SplitStringUsing()
294 // Split a string using a character delimiter. Append the components
295diff --git a/protoc-gen-c/c_helpers.h b/protoc-gen-c/c_helpers.h
296index e69504bb..377d4272 100644
297--- a/protoc-gen-c/c_helpers.h
298+++ b/protoc-gen-c/c_helpers.h
299@@ -150,9 +150,6 @@ const char* DeclaredTypeMethodName(google::protobuf::FieldDescriptor::Type type)
300 // Convert a file name into a valid identifier.
301 std::string FilenameIdentifier(const std::string& filename);
302
303-// Return the name of the BuildDescriptors() function for a given file.
304-std::string GlobalBuildDescriptorsName(const std::string& filename);
305-
306 // return 'required', 'optional', or 'repeated'
307 std::string GetLabelName(google::protobuf::FieldDescriptor::Label label);
308
309
310From bc2cb66d908f016dd3f7082c8a6ad7c58bc03412 Mon Sep 17 00:00:00 2001
311From: Robert Edmonds <edmonds@users.noreply.github.com>
312Date: Sat, 8 Feb 2025 20:18:05 -0500
313Subject: [PATCH 04/11] Use `compat::StringView` type across various function
314 signatures
315
316---
317 protoc-gen-c/c_helpers.cc | 44 +++++++++++++++++++++------------------
318 protoc-gen-c/c_helpers.h | 36 ++++++++++++++++----------------
319 2 files changed, 42 insertions(+), 38 deletions(-)
320
321diff --git a/protoc-gen-c/c_helpers.cc b/protoc-gen-c/c_helpers.cc
322index bbb4a615..c759c8c2 100644
323--- a/protoc-gen-c/c_helpers.cc
324+++ b/protoc-gen-c/c_helpers.cc
325@@ -96,6 +96,7 @@ std::string SimpleFtoa(float f) {
326 buf[sizeof(buf)-1] = 0; /* should NOT be necessary */
327 return buf;
328 }
329+
330 std::string SimpleDtoa(double d) {
331 char buf[100];
332 snprintf(buf,sizeof(buf),"%.*g", DBL_DIG, d);
333@@ -103,7 +104,7 @@ std::string SimpleDtoa(double d) {
334 return buf;
335 }
336
337-std::string CamelToUpper(const std::string &name) {
338+std::string CamelToUpper(compat::StringView name) {
339 bool was_upper = true; // suppress initial _
340 std::string rv = "";
341 int len = name.length();
342@@ -120,7 +121,8 @@ std::string CamelToUpper(const std::string &name) {
343 }
344 return rv;
345 }
346-std::string CamelToLower(const std::string &name) {
347+
348+std::string CamelToLower(compat::StringView name) {
349 bool was_upper = true; // suppress initial _
350 std::string rv = "";
351 int len = name.length();
352@@ -138,8 +140,7 @@ std::string CamelToLower(const std::string &name) {
353 return rv;
354 }
355
356-
357-std::string ToUpper(const std::string &name) {
358+std::string ToUpper(compat::StringView name) {
359 std::string rv = "";
360 int len = name.length();
361 for (int i = 0; i < len; i++) {
362@@ -147,7 +148,8 @@ std::string ToUpper(const std::string &name) {
363 }
364 return rv;
365 }
366-std::string ToLower(const std::string &name) {
367+
368+std::string ToLower(compat::StringView name) {
369 std::string rv = "";
370 int len = name.length();
371 for (int i = 0; i < len; i++) {
372@@ -155,7 +157,8 @@ std::string ToLower(const std::string &name) {
373 }
374 return rv;
375 }
376-std::string ToCamel(const std::string &name) {
377+
378+std::string ToCamel(compat::StringView name) {
379 std::string rv = "";
380 int len = name.length();
381 bool next_is_upper = true;
382@@ -172,7 +175,7 @@ std::string ToCamel(const std::string &name) {
383 return rv;
384 }
385
386-std::string OverrideFullName(const std::string &full_name, const google::protobuf::FileDescriptor* file) {
387+std::string OverrideFullName(compat::StringView full_name, const google::protobuf::FileDescriptor* file) {
388 const ProtobufCFileOptions opt = file->options().GetExtension(pb_c_file);
389 if (!opt.has_c_package())
390 return full_name;
391@@ -184,7 +187,7 @@ std::string OverrideFullName(const std::string &full_name, const google::protobu
392 return new_name + full_name.substr(file->package().length());
393 }
394
395-std::string FullNameToLower(const std::string &full_name, const google::protobuf::FileDescriptor* file) {
396+std::string FullNameToLower(compat::StringView full_name, const google::protobuf::FileDescriptor* file) {
397 std::vector<std::string> pieces;
398 SplitStringUsing(OverrideFullName(full_name, file), ".", &pieces);
399 std::string rv = "";
400@@ -195,7 +198,8 @@ std::string FullNameToLower(const std::string &full_name, const google::protobuf
401 }
402 return rv;
403 }
404-std::string FullNameToUpper(const std::string &full_name, const google::protobuf::FileDescriptor* file) {
405+
406+std::string FullNameToUpper(compat::StringView full_name, const google::protobuf::FileDescriptor* file) {
407 std::vector<std::string> pieces;
408 SplitStringUsing(OverrideFullName(full_name, file), ".", &pieces);
409 std::string rv = "";
410@@ -206,7 +210,8 @@ std::string FullNameToUpper(const std::string &full_name, const google::protobuf
411 }
412 return rv;
413 }
414-std::string FullNameToC(const std::string &full_name, const google::protobuf::FileDescriptor* file) {
415+
416+std::string FullNameToC(compat::StringView full_name, const google::protobuf::FileDescriptor* file) {
417 std::vector<std::string> pieces;
418 SplitStringUsing(OverrideFullName(full_name, file), ".", &pieces);
419 std::string rv = "";
420@@ -248,7 +253,7 @@ void PrintComment(google::protobuf::io::Printer* printer, std::string comment)
421 }
422 }
423
424-std::string ConvertToSpaces(const std::string &input) {
425+std::string ConvertToSpaces(compat::StringView input) {
426 return std::string(input.size(), ' ');
427 }
428
429@@ -259,8 +264,7 @@ int compare_name_indices_by_name(const void *a, const void *b)
430 return strcmp (ni_a->name, ni_b->name);
431 }
432
433-
434-std::string CEscape(const std::string& src);
435+std::string CEscape(compat::StringView src);
436
437 const char* const kKeywordList[] = {
438 "and", "and_eq", "asm", "auto", "bitand", "bitor", "bool", "break", "case",
439@@ -300,7 +304,7 @@ std::string FieldDeprecated(const google::protobuf::FieldDescriptor* field) {
440 return "";
441 }
442
443-std::string StripProto(const std::string& filename) {
444+std::string StripProto(compat::StringView filename) {
445 if (HasSuffixString(filename, ".protodevel")) {
446 return StripSuffixString(filename, ".protodevel");
447 } else {
448@@ -309,7 +313,7 @@ std::string StripProto(const std::string& filename) {
449 }
450
451 // Convert a file name into a valid identifier.
452-std::string FilenameIdentifier(const std::string& filename) {
453+std::string FilenameIdentifier(compat::StringView filename) {
454 std::string result;
455 for (unsigned i = 0; i < filename.size(); i++) {
456 if (isalnum(filename[i])) {
457@@ -335,7 +339,7 @@ std::string GetLabelName(google::protobuf::FieldDescriptor::Label label) {
458 }
459
460 unsigned
461-WriteIntRanges(google::protobuf::io::Printer* printer, int n_values, const int *values, const std::string &name)
462+WriteIntRanges(google::protobuf::io::Printer* printer, int n_values, const int *values, compat::StringView name)
463 {
464 std::map<std::string, std::string> vars;
465 vars["name"] = name;
466@@ -389,7 +393,7 @@ WriteIntRanges(google::protobuf::io::Printer* printer, int n_values, const int *
467 // ----------------------------------------------------------------------
468 template <typename ITR>
469 static inline
470-void SplitStringToIteratorUsing(const std::string& full,
471+void SplitStringToIteratorUsing(compat::StringView full,
472 const char* delim,
473 ITR& result) {
474 // Optimize the common case where delim is a single character.
475@@ -422,7 +426,7 @@ void SplitStringToIteratorUsing(const std::string& full,
476 }
477 }
478
479-void SplitStringUsing(const std::string& full,
480+void SplitStringUsing(compat::StringView full,
481 const char* delim,
482 std::vector<std::string>* result) {
483 std::back_insert_iterator< std::vector<std::string> > it(*result);
484@@ -435,7 +439,6 @@ char* FastHexToBuffer(int i, char* buffer)
485 return buffer;
486 }
487
488-
489 static int CEscapeInternal(const char* src, int src_len, char* dest,
490 int dest_len, bool use_hex) {
491 const char* src_end = src + src_len;
492@@ -478,7 +481,8 @@ static int CEscapeInternal(const char* src, int src_len, char* dest,
493 dest[used] = '\0'; // doesn't count towards return value though
494 return used;
495 }
496-std::string CEscape(const std::string& src) {
497+
498+std::string CEscape(compat::StringView src) {
499 const int dest_length = src.size() * 4 + 1; // Maximum possible expansion
500 std::unique_ptr<char[]> dest(new char[dest_length]);
501 const int len = CEscapeInternal(src.data(), src.size(),
502diff --git a/protoc-gen-c/c_helpers.h b/protoc-gen-c/c_helpers.h
503index 377d4272..ccd39ca2 100644
504--- a/protoc-gen-c/c_helpers.h
505+++ b/protoc-gen-c/c_helpers.h
506@@ -73,6 +73,8 @@
507
508 #include <protobuf-c/protobuf-c.pb.h>
509
510+#include "compat.h"
511+
512 namespace protobuf_c {
513
514 // --- Borrowed from stubs. ---
515@@ -84,11 +86,10 @@ template <typename T> std::string SimpleItoa(T n) {
516
517 std::string SimpleFtoa(float f);
518 std::string SimpleDtoa(double f);
519-void SplitStringUsing(const std::string &str, const char *delim, std::vector<std::string> *out);
520-std::string CEscape(const std::string& src);
521-std::string StringReplace(const std::string& s, const std::string& oldsub, const std::string& newsub, bool replace_all);
522-inline bool HasSuffixString(const std::string& str, const std::string& suffix) { return str.size() >= suffix.size() && str.compare(str.size() - suffix.size(), suffix.size(), suffix) == 0; }
523-inline std::string StripSuffixString(const std::string& str, const std::string& suffix) { if (HasSuffixString(str, suffix)) { return str.substr(0, str.size() - suffix.size()); } else { return str; } }
524+void SplitStringUsing(compat::StringView str, const char *delim, std::vector<std::string> *out);
525+std::string CEscape(compat::StringView src);
526+inline bool HasSuffixString(compat::StringView str, compat::StringView suffix) { return str.size() >= suffix.size() && str.compare(str.size() - suffix.size(), suffix.size(), suffix) == 0; }
527+inline std::string StripSuffixString(compat::StringView str, compat::StringView suffix) { if (HasSuffixString(str, suffix)) { return str.substr(0, str.size() - suffix.size()); } else { return str; } }
528 char* FastHexToBuffer(int i, char* buffer);
529
530
531@@ -110,31 +111,31 @@ inline const google::protobuf::Descriptor* FieldScope(const google::protobuf::Fi
532
533 // convert a CamelCase class name into an all uppercase affair
534 // with underscores separating words, e.g. MyClass becomes MY_CLASS.
535-std::string CamelToUpper(const std::string &class_name);
536-std::string CamelToLower(const std::string &class_name);
537+std::string CamelToUpper(compat::StringView class_name);
538+std::string CamelToLower(compat::StringView class_name);
539
540 // lowercased, underscored name to camel case
541-std::string ToCamel(const std::string &name);
542+std::string ToCamel(compat::StringView name);
543
544 // lowercase the string
545-std::string ToLower(const std::string &class_name);
546-std::string ToUpper(const std::string &class_name);
547+std::string ToLower(compat::StringView class_name);
548+std::string ToUpper(compat::StringView class_name);
549
550 // full_name() to lowercase with underscores
551-std::string FullNameToLower(const std::string &full_name, const google::protobuf::FileDescriptor *file);
552-std::string FullNameToUpper(const std::string &full_name, const google::protobuf::FileDescriptor *file);
553+std::string FullNameToLower(compat::StringView full_name, const google::protobuf::FileDescriptor *file);
554+std::string FullNameToUpper(compat::StringView full_name, const google::protobuf::FileDescriptor *file);
555
556 // full_name() to c-typename (with underscores for packages, otherwise camel case)
557-std::string FullNameToC(const std::string &class_name, const google::protobuf::FileDescriptor *file);
558+std::string FullNameToC(compat::StringView class_name, const google::protobuf::FileDescriptor *file);
559
560 // Splits, indents, formats, and prints comment lines
561 void PrintComment(google::protobuf::io::Printer* printer, std::string comment);
562
563 // make a string of spaces as long as input
564-std::string ConvertToSpaces(const std::string &input);
565+std::string ConvertToSpaces(compat::StringView input);
566
567 // Strips ".proto" or ".protodevel" from the end of a filename.
568-std::string StripProto(const std::string& filename);
569+std::string StripProto(compat::StringView filename);
570
571 // Get the C++ type name for a primitive type (e.g. "double", "::google::protobuf::int32", etc.).
572 // Note: non-built-in type names will be qualified, meaning they will start
573@@ -148,15 +149,14 @@ const char* PrimitiveTypeName(google::protobuf::FieldDescriptor::CppType type);
574 const char* DeclaredTypeMethodName(google::protobuf::FieldDescriptor::Type type);
575
576 // Convert a file name into a valid identifier.
577-std::string FilenameIdentifier(const std::string& filename);
578+std::string FilenameIdentifier(compat::StringView filename);
579
580 // return 'required', 'optional', or 'repeated'
581 std::string GetLabelName(google::protobuf::FieldDescriptor::Label label);
582
583-
584 // write IntRanges entries for a bunch of sorted values.
585 // returns the number of ranges there are to bsearch.
586-unsigned WriteIntRanges(google::protobuf::io::Printer* printer, int n_values, const int *values, const std::string &name);
587+unsigned WriteIntRanges(google::protobuf::io::Printer* printer, int n_values, const int *values, compat::StringView name);
588
589 struct NameIndex
590 {
591
592From 75f1c32cc429233a3726358c999009f9ea373b45 Mon Sep 17 00:00:00 2001
593From: Robert Edmonds <edmonds@users.noreply.github.com>
594Date: Sat, 8 Feb 2025 20:25:43 -0500
595Subject: [PATCH 05/11] Convert string views to owned strings where necessary
596
597---
598 protoc-gen-c/c_enum.cc | 2 +-
599 protoc-gen-c/c_enum_field.cc | 2 +-
600 protoc-gen-c/c_helpers.cc | 8 ++++----
601 protoc-gen-c/c_helpers.h | 3 +--
602 4 files changed, 7 insertions(+), 8 deletions(-)
603
604diff --git a/protoc-gen-c/c_enum.cc b/protoc-gen-c/c_enum.cc
605index 9212ab82..311e4c86 100644
606--- a/protoc-gen-c/c_enum.cc
607+++ b/protoc-gen-c/c_enum.cc
608@@ -152,7 +152,7 @@ void EnumGenerator::GenerateValueInitializer(google::protobuf::io::Printer *prin
609 descriptor_->file()->options().optimize_for() ==
610 google::protobuf::FileOptions_OptimizeMode_CODE_SIZE;
611 vars["enum_value_name"] = vd->name();
612- vars["c_enum_value_name"] = FullNameToUpper(descriptor_->full_name(), descriptor_->file()) + "__" + vd->name();
613+ vars["c_enum_value_name"] = FullNameToUpper(descriptor_->full_name(), descriptor_->file()) + "__" + std::string(vd->name());
614 vars["value"] = SimpleItoa(vd->number());
615 if (optimize_code_size)
616 printer->Print(vars, " { NULL, NULL, $value$ }, /* CODE_SIZE */\n");
617diff --git a/protoc-gen-c/c_enum_field.cc b/protoc-gen-c/c_enum_field.cc
618index 0926ae59..c3111f50 100644
619--- a/protoc-gen-c/c_enum_field.cc
620+++ b/protoc-gen-c/c_enum_field.cc
621@@ -78,7 +78,7 @@ void SetEnumVariables(const google::protobuf::FieldDescriptor* descriptor,
622 (*variables)["type"] = FullNameToC(descriptor->enum_type()->full_name(), descriptor->enum_type()->file());
623 const google::protobuf::EnumValueDescriptor* default_value = descriptor->default_value_enum();
624 (*variables)["default"] = FullNameToUpper(default_value->type()->full_name(), default_value->type()->file())
625- + "__" + default_value->name();
626+ + "__" + std::string(default_value->name());
627 (*variables)["deprecated"] = FieldDeprecated(descriptor);
628 }
629
630diff --git a/protoc-gen-c/c_helpers.cc b/protoc-gen-c/c_helpers.cc
631index c759c8c2..1aecef93 100644
632--- a/protoc-gen-c/c_helpers.cc
633+++ b/protoc-gen-c/c_helpers.cc
634@@ -178,13 +178,13 @@ std::string ToCamel(compat::StringView name) {
635 std::string OverrideFullName(compat::StringView full_name, const google::protobuf::FileDescriptor* file) {
636 const ProtobufCFileOptions opt = file->options().GetExtension(pb_c_file);
637 if (!opt.has_c_package())
638- return full_name;
639+ return std::string(full_name);
640
641 std::string new_name = opt.c_package();
642 if (file->package().empty())
643 new_name += ".";
644
645- return new_name + full_name.substr(file->package().length());
646+ return new_name + std::string(full_name.substr(file->package().length()));
647 }
648
649 std::string FullNameToLower(compat::StringView full_name, const google::protobuf::FileDescriptor* file) {
650@@ -418,10 +418,10 @@ void SplitStringToIteratorUsing(compat::StringView full,
651 while (begin_index != std::string::npos) {
652 end_index = full.find_first_of(delim, begin_index);
653 if (end_index == std::string::npos) {
654- *result++ = full.substr(begin_index);
655+ *result++ = std::string(full.substr(begin_index));
656 return;
657 }
658- *result++ = full.substr(begin_index, (end_index - begin_index));
659+ *result++ = std::string(full.substr(begin_index, (end_index - begin_index)));
660 begin_index = full.find_first_not_of(delim, end_index);
661 }
662 }
663diff --git a/protoc-gen-c/c_helpers.h b/protoc-gen-c/c_helpers.h
664index ccd39ca2..985e4db6 100644
665--- a/protoc-gen-c/c_helpers.h
666+++ b/protoc-gen-c/c_helpers.h
667@@ -89,10 +89,9 @@ std::string SimpleDtoa(double f);
668 void SplitStringUsing(compat::StringView str, const char *delim, std::vector<std::string> *out);
669 std::string CEscape(compat::StringView src);
670 inline bool HasSuffixString(compat::StringView str, compat::StringView suffix) { return str.size() >= suffix.size() && str.compare(str.size() - suffix.size(), suffix.size(), suffix) == 0; }
671-inline std::string StripSuffixString(compat::StringView str, compat::StringView suffix) { if (HasSuffixString(str, suffix)) { return str.substr(0, str.size() - suffix.size()); } else { return str; } }
672+inline std::string StripSuffixString(compat::StringView str, compat::StringView suffix) { if (HasSuffixString(str, suffix)) { return std::string(str.substr(0, str.size() - suffix.size())); } else { return std::string(str); } }
673 char* FastHexToBuffer(int i, char* buffer);
674
675-
676 // Get the (unqualified) name that should be used for this field in C code.
677 // The name is coerced to lower-case to emulate proto1 behavior. People
678 // should be using lowercase-with-underscores style for proto field names
679
680From 0edca93db369fb84f01cc0d4e3ee4cd6c2ad7f4f Mon Sep 17 00:00:00 2001
681From: Robert Edmonds <edmonds@users.noreply.github.com>
682Date: Sat, 8 Feb 2025 20:39:11 -0500
683Subject: [PATCH 06/11] Convert various uses of `const char *` to
684 `compat::StringView`
685
686Also replace some uses of arrays manually allocated with new/delete with
687uses of `std::vector`.
688---
689 protoc-gen-c/c_enum.cc | 35 ++++++++++++++++++-----------------
690 protoc-gen-c/c_helpers.cc | 2 +-
691 protoc-gen-c/c_helpers.h | 2 +-
692 protoc-gen-c/c_message.cc | 28 ++++++++++++----------------
693 protoc-gen-c/c_service.cc | 19 +++++++++----------
694 5 files changed, 41 insertions(+), 45 deletions(-)
695
696diff --git a/protoc-gen-c/c_enum.cc b/protoc-gen-c/c_enum.cc
697index 311e4c86..c7839edd 100644
698--- a/protoc-gen-c/c_enum.cc
699+++ b/protoc-gen-c/c_enum.cc
700@@ -142,7 +142,7 @@ struct ValueIndex
701 int value;
702 unsigned index;
703 unsigned final_index; /* index in uniqified array of values */
704- const char *name;
705+ compat::StringView name;
706 };
707 void EnumGenerator::GenerateValueInitializer(google::protobuf::io::Printer *printer, int index)
708 {
709@@ -176,7 +176,7 @@ static int compare_value_indices_by_name(const void *a, const void *b)
710 {
711 const ValueIndex *vi_a = (const ValueIndex *) a;
712 const ValueIndex *vi_b = (const ValueIndex *) b;
713- return strcmp (vi_a->name, vi_b->name);
714+ return vi_a->name.compare(vi_b->name);
715 }
716
717 void EnumGenerator::GenerateEnumDescriptor(google::protobuf::io::Printer* printer) {
718@@ -194,18 +194,20 @@ void EnumGenerator::GenerateEnumDescriptor(google::protobuf::io::Printer* printe
719
720 // Sort by name and value, dropping duplicate values if they appear later.
721 // TODO: use a c++ paradigm for this!
722- NameIndex *name_index = new NameIndex[descriptor_->value_count()];
723- ValueIndex *value_index = new ValueIndex[descriptor_->value_count()];
724- for (int j = 0; j < descriptor_->value_count(); j++) {
725+ std::vector<ValueIndex> value_index;
726+ for (unsigned j = 0; j < descriptor_->value_count(); j++) {
727 const google::protobuf::EnumValueDescriptor *vd = descriptor_->value(j);
728- name_index[j].index = j;
729- name_index[j].name = vd->name().c_str();
730- value_index[j].index = j;
731- value_index[j].value = vd->number();
732- value_index[j].name = vd->name().c_str();
733+ value_index.push_back({
734+ .value = vd->number(),
735+ .index = j,
736+ .final_index = 0,
737+ .name = vd->name(),
738+ });
739 }
740- qsort(value_index, descriptor_->value_count(),
741- sizeof(ValueIndex), compare_value_indices_by_value_then_index);
742+ qsort(&value_index[0],
743+ value_index.size(),
744+ sizeof(ValueIndex),
745+ compare_value_indices_by_value_then_index);
746
747 // only record unique values
748 int n_unique_values;
749@@ -275,8 +277,10 @@ void EnumGenerator::GenerateEnumDescriptor(google::protobuf::io::Printer* printe
750 vars["n_ranges"] = SimpleItoa(n_ranges);
751
752 if (!optimize_code_size) {
753- qsort(value_index, descriptor_->value_count(),
754- sizeof(ValueIndex), compare_value_indices_by_name);
755+ qsort(&value_index[0],
756+ value_index.size(),
757+ sizeof(ValueIndex),
758+ compare_value_indices_by_name);
759 printer->Print(vars,
760 "static const ProtobufCEnumValueIndex $lcclassname$__enum_values_by_name[$value_count$] =\n"
761 "{\n");
762@@ -319,9 +323,6 @@ void EnumGenerator::GenerateEnumDescriptor(google::protobuf::io::Printer* printe
763 " NULL,NULL,NULL,NULL /* reserved[1234] */\n"
764 "};\n");
765 }
766-
767- delete[] value_index;
768- delete[] name_index;
769 }
770
771 } // namespace protobuf_c
772diff --git a/protoc-gen-c/c_helpers.cc b/protoc-gen-c/c_helpers.cc
773index 1aecef93..dec9ce28 100644
774--- a/protoc-gen-c/c_helpers.cc
775+++ b/protoc-gen-c/c_helpers.cc
776@@ -261,7 +261,7 @@ int compare_name_indices_by_name(const void *a, const void *b)
777 {
778 const NameIndex *ni_a = (const NameIndex *) a;
779 const NameIndex *ni_b = (const NameIndex *) b;
780- return strcmp (ni_a->name, ni_b->name);
781+ return ni_a->name.compare(ni_b->name);
782 }
783
784 std::string CEscape(compat::StringView src);
785diff --git a/protoc-gen-c/c_helpers.h b/protoc-gen-c/c_helpers.h
786index 985e4db6..69369997 100644
787--- a/protoc-gen-c/c_helpers.h
788+++ b/protoc-gen-c/c_helpers.h
789@@ -160,7 +160,7 @@ unsigned WriteIntRanges(google::protobuf::io::Printer* printer, int n_values, co
790 struct NameIndex
791 {
792 unsigned index;
793- const char *name;
794+ compat::StringView name;
795 };
796 int compare_name_indices_by_name(const void*, const void*);
797
798diff --git a/protoc-gen-c/c_message.cc b/protoc-gen-c/c_message.cc
799index 46413873..7252923c 100644
800--- a/protoc-gen-c/c_message.cc
801+++ b/protoc-gen-c/c_message.cc
802@@ -567,27 +567,26 @@ GenerateMessageDescriptor(google::protobuf::io::Printer* printer, bool gen_init)
803 "static const ProtobufCFieldDescriptor $lcclassname$__field_descriptors[$n_fields$] =\n"
804 "{\n");
805 printer->Indent();
806- const google::protobuf::FieldDescriptor **sorted_fields = new const google::protobuf::FieldDescriptor *[descriptor_->field_count()];
807+
808+ std::vector<const google::protobuf::FieldDescriptor*> sorted_fields;
809 for (int i = 0; i < descriptor_->field_count(); i++) {
810- sorted_fields[i] = descriptor_->field(i);
811+ sorted_fields.push_back(descriptor_->field(i));
812 }
813- qsort (sorted_fields, descriptor_->field_count(),
814+ qsort(&sorted_fields[0], sorted_fields.size(),
815 sizeof(const google::protobuf::FieldDescriptor*),
816 compare_pfields_by_number);
817- for (int i = 0; i < descriptor_->field_count(); i++) {
818- const google::protobuf::FieldDescriptor* field = sorted_fields[i];
819+ for (auto field : sorted_fields) {
820 field_generators_.get(field).GenerateDescriptorInitializer(printer);
821 }
822 printer->Outdent();
823 printer->Print(vars, "};\n");
824
825 if (!optimize_code_size) {
826- NameIndex *field_indices = new NameIndex [descriptor_->field_count()];
827- for (int i = 0; i < descriptor_->field_count(); i++) {
828- field_indices[i].name = sorted_fields[i]->name().c_str();
829- field_indices[i].index = i;
830+ std::vector<NameIndex> field_indices;
831+ for (unsigned i = 0; i < descriptor_->field_count(); i++) {
832+ field_indices.push_back({ .index = i, .name = sorted_fields[i]->name() });
833 }
834- qsort (field_indices, descriptor_->field_count(), sizeof (NameIndex),
835+ qsort(&field_indices[0], field_indices.size(), sizeof(NameIndex),
836 compare_name_indices_by_name);
837 printer->Print(vars, "static const unsigned $lcclassname$__field_indices_by_name[] = {\n");
838 for (int i = 0; i < descriptor_->field_count(); i++) {
839@@ -596,19 +595,16 @@ GenerateMessageDescriptor(google::protobuf::io::Printer* printer, bool gen_init)
840 printer->Print(vars, " $index$, /* field[$index$] = $name$ */\n");
841 }
842 printer->Print("};\n");
843- delete[] field_indices;
844 }
845
846 // create range initializers
847- int *values = new int[descriptor_->field_count()];
848+ std::vector<int> values;
849 for (int i = 0; i < descriptor_->field_count(); i++) {
850- values[i] = sorted_fields[i]->number();
851+ values.push_back(sorted_fields[i]->number());
852 }
853 int n_ranges = WriteIntRanges(printer,
854- descriptor_->field_count(), values,
855+ descriptor_->field_count(), &values[0],
856 vars["lcclassname"] + "__number_ranges");
857- delete [] values;
858- delete [] sorted_fields;
859
860 vars["n_ranges"] = SimpleItoa(n_ranges);
861 } else {
862diff --git a/protoc-gen-c/c_service.cc b/protoc-gen-c/c_service.cc
863index ee4d4a95..2c3ddcf3 100644
864--- a/protoc-gen-c/c_service.cc
865+++ b/protoc-gen-c/c_service.cc
866@@ -184,19 +184,19 @@ void ServiceGenerator::GenerateInit(google::protobuf::io::Printer* printer)
867 "}\n");
868 }
869
870-struct MethodIndexAndName { unsigned i; const char *name; };
871+struct MethodIndexAndName { unsigned i; compat::StringView name; };
872 static int
873 compare_method_index_and_name_by_name (const void *a, const void *b)
874 {
875 const MethodIndexAndName *ma = (const MethodIndexAndName *) a;
876 const MethodIndexAndName *mb = (const MethodIndexAndName *) b;
877- return strcmp (ma->name, mb->name);
878+ return ma->name.compare(mb->name);
879 }
880
881 void ServiceGenerator::GenerateServiceDescriptor(google::protobuf::io::Printer* printer)
882 {
883 int n_methods = descriptor_->method_count();
884- MethodIndexAndName *mi_array = new MethodIndexAndName[n_methods];
885+ std::vector<MethodIndexAndName> mi_array;
886
887 bool optimize_code_size = descriptor_->file()->options().has_optimize_for() &&
888 descriptor_->file()->options().optimize_for() ==
889@@ -205,7 +205,7 @@ void ServiceGenerator::GenerateServiceDescriptor(google::protobuf::io::Printer*
890 vars_["n_methods"] = SimpleItoa(n_methods);
891 printer->Print(vars_, "static const ProtobufCMethodDescriptor $lcfullname$__method_descriptors[$n_methods$] =\n"
892 "{\n");
893- for (int i = 0; i < n_methods; i++) {
894+ for (unsigned i = 0; i < n_methods; i++) {
895 const google::protobuf::MethodDescriptor* method = descriptor_->method(i);
896 vars_["method"] = method->name();
897 vars_["input_descriptor"] = "&" + FullNameToLower(method->input_type()->full_name(), method->input_type()->file()) + "__descriptor";
898@@ -217,14 +217,15 @@ void ServiceGenerator::GenerateServiceDescriptor(google::protobuf::io::Printer*
899 printer->Print(vars_,
900 " { \"$method$\", $input_descriptor$, $output_descriptor$ },\n");
901 }
902- mi_array[i].i = i;
903- mi_array[i].name = method->name().c_str();
904+ mi_array.push_back({i, method->name()});
905 }
906 printer->Print(vars_, "};\n");
907
908 if (!optimize_code_size) {
909- qsort ((void*)mi_array, n_methods, sizeof (MethodIndexAndName),
910- compare_method_index_and_name_by_name);
911+ qsort(&mi_array[0],
912+ mi_array.size(),
913+ sizeof(MethodIndexAndName),
914+ compare_method_index_and_name_by_name);
915 printer->Print(vars_, "const unsigned $lcfullname$__method_indices_by_name[] = {\n");
916 for (int i = 0; i < n_methods; i++) {
917 vars_["i"] = SimpleItoa(mi_array[i].i);
918@@ -258,8 +259,6 @@ void ServiceGenerator::GenerateServiceDescriptor(google::protobuf::io::Printer*
919 " $lcfullname$__method_indices_by_name\n"
920 "};\n");
921 }
922-
923- delete[] mi_array;
924 }
925
926 void ServiceGenerator::GenerateCallersImplementations(google::protobuf::io::Printer* printer)
927
928From ebeddac1a746393a16d9ba4cf80e3d12c3ab7d7f Mon Sep 17 00:00:00 2001
929From: Robert Edmonds <edmonds@users.noreply.github.com>
930Date: Sat, 8 Feb 2025 20:56:48 -0500
931Subject: [PATCH 07/11] Fix indentation of
932 MessageGenerator::GenerateMessageDescriptor()
933
934---
935 protoc-gen-c/c_message.cc | 321 +++++++++++++++++++-------------------
936 1 file changed, 159 insertions(+), 162 deletions(-)
937
938diff --git a/protoc-gen-c/c_message.cc b/protoc-gen-c/c_message.cc
939index 7252923c..2a3b2a2f 100644
940--- a/protoc-gen-c/c_message.cc
941+++ b/protoc-gen-c/c_message.cc
942@@ -461,199 +461,196 @@ GenerateHelperFunctionDefinitions(google::protobuf::io::Printer* printer,
943
944 void MessageGenerator::
945 GenerateMessageDescriptor(google::protobuf::io::Printer* printer, bool gen_init) {
946- std::map<std::string, std::string> vars;
947- vars["fullname"] = descriptor_->full_name();
948- vars["classname"] = FullNameToC(descriptor_->full_name(), descriptor_->file());
949- vars["lcclassname"] = FullNameToLower(descriptor_->full_name(), descriptor_->file());
950- vars["shortname"] = ToCamel(descriptor_->name());
951- vars["n_fields"] = SimpleItoa(descriptor_->field_count());
952- vars["packagename"] = descriptor_->file()->package();
953-
954- bool optimize_code_size = descriptor_->file()->options().has_optimize_for() &&
955- descriptor_->file()->options().optimize_for() ==
956- google::protobuf::FileOptions_OptimizeMode_CODE_SIZE;
957-
958- const ProtobufCMessageOptions opt =
959- descriptor_->options().GetExtension(pb_c_msg);
960- // Override parent settings, if needed
961- if (opt.has_gen_init_helpers())
962- gen_init = opt.gen_init_helpers();
963-
964- for (int i = 0; i < descriptor_->nested_type_count(); i++) {
965- nested_generators_[i]->GenerateMessageDescriptor(printer, gen_init);
966- }
967+ std::map<std::string, std::string> vars;
968+ vars["fullname"] = descriptor_->full_name();
969+ vars["classname"] = FullNameToC(descriptor_->full_name(), descriptor_->file());
970+ vars["lcclassname"] = FullNameToLower(descriptor_->full_name(), descriptor_->file());
971+ vars["shortname"] = ToCamel(descriptor_->name());
972+ vars["n_fields"] = SimpleItoa(descriptor_->field_count());
973+ vars["packagename"] = descriptor_->file()->package();
974
975- for (int i = 0; i < descriptor_->enum_type_count(); i++) {
976- enum_generators_[i]->GenerateEnumDescriptor(printer);
977- }
978+ bool optimize_code_size = descriptor_->file()->options().has_optimize_for() &&
979+ descriptor_->file()->options().optimize_for() ==
980+ google::protobuf::FileOptions_OptimizeMode_CODE_SIZE;
981
982- for (int i = 0; i < descriptor_->field_count(); i++) {
983- const google::protobuf::FieldDescriptor* fd = descriptor_->field(i);
984- if (fd->has_default_value()) {
985- field_generators_.get(fd).GenerateDefaultValueImplementations(printer);
986- }
987- }
988+ const ProtobufCMessageOptions opt = descriptor_->options().GetExtension(pb_c_msg);
989+ // Override parent settings, if needed
990+ if (opt.has_gen_init_helpers()) {
991+ gen_init = opt.gen_init_helpers();
992+ }
993
994- for (int i = 0; i < descriptor_->field_count(); i++) {
995- const google::protobuf::FieldDescriptor* fd = descriptor_->field(i);
996- const ProtobufCFieldOptions opt = fd->options().GetExtension(pb_c_field);
997- if (fd->has_default_value()) {
998-
999- bool already_defined = false;
1000- vars["name"] = fd->name();
1001- vars["lcname"] = CamelToLower(fd->name());
1002- vars["maybe_static"] = "static ";
1003- vars["field_dv_ctype_suffix"] = "";
1004- vars["default_value"] = field_generators_.get(fd).GetDefaultValue();
1005- switch (fd->cpp_type()) {
1006- case google::protobuf::FieldDescriptor::CPPTYPE_INT32:
1007- vars["field_dv_ctype"] = "int32_t";
1008- break;
1009- case google::protobuf::FieldDescriptor::CPPTYPE_INT64:
1010- vars["field_dv_ctype"] = "int64_t";
1011- break;
1012- case google::protobuf::FieldDescriptor::CPPTYPE_UINT32:
1013- vars["field_dv_ctype"] = "uint32_t";
1014- break;
1015- case google::protobuf::FieldDescriptor::CPPTYPE_UINT64:
1016- vars["field_dv_ctype"] = "uint64_t";
1017- break;
1018- case google::protobuf::FieldDescriptor::CPPTYPE_FLOAT:
1019- vars["field_dv_ctype"] = "float";
1020- break;
1021- case google::protobuf::FieldDescriptor::CPPTYPE_DOUBLE:
1022- vars["field_dv_ctype"] = "double";
1023- break;
1024- case google::protobuf::FieldDescriptor::CPPTYPE_BOOL:
1025- vars["field_dv_ctype"] = "protobuf_c_boolean";
1026- break;
1027-
1028- case google::protobuf::FieldDescriptor::CPPTYPE_MESSAGE:
1029- // NOTE: not supported by protobuf
1030- vars["maybe_static"] = "";
1031- vars["field_dv_ctype"] = "{ ... }";
1032- GOOGLE_LOG(FATAL) << "Messages can't have default values!";
1033- break;
1034- case google::protobuf::FieldDescriptor::CPPTYPE_STRING:
1035- if (fd->type() == google::protobuf::FieldDescriptor::TYPE_BYTES || opt.string_as_bytes())
1036- {
1037- vars["field_dv_ctype"] = "ProtobufCBinaryData";
1038- }
1039- else /* STRING type */
1040- {
1041- already_defined = true;
1042- vars["maybe_static"] = "";
1043- vars["field_dv_ctype"] = "char";
1044- vars["field_dv_ctype_suffix"] = "[]";
1045- }
1046- break;
1047- case google::protobuf::FieldDescriptor::CPPTYPE_ENUM:
1048- {
1049- const google::protobuf::EnumValueDescriptor* vd = fd->default_value_enum();
1050- vars["field_dv_ctype"] = FullNameToC(vd->type()->full_name(), vd->type()->file());
1051- break;
1052- }
1053- default:
1054- GOOGLE_LOG(FATAL) << "Unknown CPPTYPE";
1055- break;
1056- }
1057- if (!already_defined)
1058- printer->Print(vars, "$maybe_static$const $field_dv_ctype$ $lcclassname$__$lcname$__default_value$field_dv_ctype_suffix$ = $default_value$;\n");
1059- }
1060- }
1061+ for (int i = 0; i < descriptor_->nested_type_count(); i++) {
1062+ nested_generators_[i]->GenerateMessageDescriptor(printer, gen_init);
1063+ }
1064
1065- if ( descriptor_->field_count() ) {
1066- printer->Print(vars,
1067- "static const ProtobufCFieldDescriptor $lcclassname$__field_descriptors[$n_fields$] =\n"
1068- "{\n");
1069- printer->Indent();
1070+ for (int i = 0; i < descriptor_->enum_type_count(); i++) {
1071+ enum_generators_[i]->GenerateEnumDescriptor(printer);
1072+ }
1073
1074- std::vector<const google::protobuf::FieldDescriptor*> sorted_fields;
1075 for (int i = 0; i < descriptor_->field_count(); i++) {
1076- sorted_fields.push_back(descriptor_->field(i));
1077- }
1078- qsort(&sorted_fields[0], sorted_fields.size(),
1079- sizeof(const google::protobuf::FieldDescriptor*),
1080- compare_pfields_by_number);
1081- for (auto field : sorted_fields) {
1082- field_generators_.get(field).GenerateDescriptorInitializer(printer);
1083+ const google::protobuf::FieldDescriptor* fd = descriptor_->field(i);
1084+ if (fd->has_default_value()) {
1085+ field_generators_.get(fd).GenerateDefaultValueImplementations(printer);
1086+ }
1087 }
1088- printer->Outdent();
1089- printer->Print(vars, "};\n");
1090
1091- if (!optimize_code_size) {
1092- std::vector<NameIndex> field_indices;
1093- for (unsigned i = 0; i < descriptor_->field_count(); i++) {
1094- field_indices.push_back({ .index = i, .name = sorted_fields[i]->name() });
1095+ for (int i = 0; i < descriptor_->field_count(); i++) {
1096+ const google::protobuf::FieldDescriptor* fd = descriptor_->field(i);
1097+ const ProtobufCFieldOptions opt = fd->options().GetExtension(pb_c_field);
1098+ if (fd->has_default_value()) {
1099+ bool already_defined = false;
1100+ vars["name"] = fd->name();
1101+ vars["lcname"] = CamelToLower(fd->name());
1102+ vars["maybe_static"] = "static ";
1103+ vars["field_dv_ctype_suffix"] = "";
1104+ vars["default_value"] = field_generators_.get(fd).GetDefaultValue();
1105+ switch (fd->cpp_type()) {
1106+ case google::protobuf::FieldDescriptor::CPPTYPE_INT32:
1107+ vars["field_dv_ctype"] = "int32_t";
1108+ break;
1109+ case google::protobuf::FieldDescriptor::CPPTYPE_INT64:
1110+ vars["field_dv_ctype"] = "int64_t";
1111+ break;
1112+ case google::protobuf::FieldDescriptor::CPPTYPE_UINT32:
1113+ vars["field_dv_ctype"] = "uint32_t";
1114+ break;
1115+ case google::protobuf::FieldDescriptor::CPPTYPE_UINT64:
1116+ vars["field_dv_ctype"] = "uint64_t";
1117+ break;
1118+ case google::protobuf::FieldDescriptor::CPPTYPE_FLOAT:
1119+ vars["field_dv_ctype"] = "float";
1120+ break;
1121+ case google::protobuf::FieldDescriptor::CPPTYPE_DOUBLE:
1122+ vars["field_dv_ctype"] = "double";
1123+ break;
1124+ case google::protobuf::FieldDescriptor::CPPTYPE_BOOL:
1125+ vars["field_dv_ctype"] = "protobuf_c_boolean";
1126+ break;
1127+ case google::protobuf::FieldDescriptor::CPPTYPE_MESSAGE:
1128+ // NOTE: not supported by protobuf
1129+ vars["maybe_static"] = "";
1130+ vars["field_dv_ctype"] = "{ ... }";
1131+ GOOGLE_LOG(FATAL) << "Messages can't have default values!";
1132+ break;
1133+ case google::protobuf::FieldDescriptor::CPPTYPE_STRING:
1134+ if (fd->type() == google::protobuf::FieldDescriptor::TYPE_BYTES || opt.string_as_bytes()) {
1135+ vars["field_dv_ctype"] = "ProtobufCBinaryData";
1136+ } else {
1137+ /* STRING type */
1138+ already_defined = true;
1139+ vars["maybe_static"] = "";
1140+ vars["field_dv_ctype"] = "char";
1141+ vars["field_dv_ctype_suffix"] = "[]";
1142+ }
1143+ break;
1144+ case google::protobuf::FieldDescriptor::CPPTYPE_ENUM: {
1145+ const google::protobuf::EnumValueDescriptor* vd = fd->default_value_enum();
1146+ vars["field_dv_ctype"] = FullNameToC(vd->type()->full_name(), vd->type()->file());
1147+ break;
1148+ }
1149+ default:
1150+ GOOGLE_LOG(FATAL) << "Unknown CPPTYPE";
1151+ break;
1152+ }
1153+ if (!already_defined) {
1154+ printer->Print(vars, "$maybe_static$const $field_dv_ctype$ $lcclassname$__$lcname$__default_value$field_dv_ctype_suffix$ = $default_value$;\n");
1155+ }
1156 }
1157- qsort(&field_indices[0], field_indices.size(), sizeof(NameIndex),
1158- compare_name_indices_by_name);
1159- printer->Print(vars, "static const unsigned $lcclassname$__field_indices_by_name[] = {\n");
1160+ }
1161+
1162+ if (descriptor_->field_count()) {
1163+ printer->Print(vars,
1164+ "static const ProtobufCFieldDescriptor $lcclassname$__field_descriptors[$n_fields$] =\n"
1165+ "{\n");
1166+ printer->Indent();
1167+
1168+ std::vector<const google::protobuf::FieldDescriptor*> sorted_fields;
1169 for (int i = 0; i < descriptor_->field_count(); i++) {
1170- vars["index"] = SimpleItoa(field_indices[i].index);
1171- vars["name"] = field_indices[i].name;
1172- printer->Print(vars, " $index$, /* field[$index$] = $name$ */\n");
1173+ sorted_fields.push_back(descriptor_->field(i));
1174 }
1175- printer->Print("};\n");
1176- }
1177+ qsort(&sorted_fields[0],
1178+ sorted_fields.size(),
1179+ sizeof(const google::protobuf::FieldDescriptor*),
1180+ compare_pfields_by_number);
1181+ for (auto field : sorted_fields) {
1182+ field_generators_.get(field).GenerateDescriptorInitializer(printer);
1183+ }
1184+ printer->Outdent();
1185+ printer->Print(vars, "};\n");
1186
1187- // create range initializers
1188- std::vector<int> values;
1189- for (int i = 0; i < descriptor_->field_count(); i++) {
1190- values.push_back(sorted_fields[i]->number());
1191- }
1192- int n_ranges = WriteIntRanges(printer,
1193- descriptor_->field_count(), &values[0],
1194- vars["lcclassname"] + "__number_ranges");
1195+ if (!optimize_code_size) {
1196+ std::vector<NameIndex> field_indices;
1197+ for (unsigned i = 0; i < descriptor_->field_count(); i++) {
1198+ field_indices.push_back({ .index = i, .name = sorted_fields[i]->name() });
1199+ }
1200+ qsort(&field_indices[0],
1201+ field_indices.size(),
1202+ sizeof(NameIndex),
1203+ compare_name_indices_by_name);
1204+ printer->Print(vars, "static const unsigned $lcclassname$__field_indices_by_name[] = {\n");
1205+ for (int i = 0; i < descriptor_->field_count(); i++) {
1206+ vars["index"] = SimpleItoa(field_indices[i].index);
1207+ vars["name"] = field_indices[i].name;
1208+ printer->Print(vars, " $index$, /* field[$index$] = $name$ */\n");
1209+ }
1210+ printer->Print("};\n");
1211+ }
1212
1213- vars["n_ranges"] = SimpleItoa(n_ranges);
1214- } else {
1215- /* MS compiler can't handle arrays with zero size and empty
1216- * initialization list. Furthermore it is an extension of GCC only but
1217- * not a standard. */
1218- vars["n_ranges"] = "0";
1219- printer->Print(vars,
1220- "#define $lcclassname$__field_descriptors NULL\n"
1221- "#define $lcclassname$__field_indices_by_name NULL\n"
1222- "#define $lcclassname$__number_ranges NULL\n");
1223+ // create range initializers
1224+ std::vector<int> values;
1225+ for (int i = 0; i < descriptor_->field_count(); i++) {
1226+ values.push_back(sorted_fields[i]->number());
1227 }
1228+ int n_ranges = WriteIntRanges(printer,
1229+ descriptor_->field_count(),
1230+ &values[0],
1231+ vars["lcclassname"] + "__number_ranges");
1232+
1233+ vars["n_ranges"] = SimpleItoa(n_ranges);
1234+ } else {
1235+ /* MS compiler can't handle arrays with zero size and empty
1236+ * initialization list. Furthermore it is an extension of GCC only but
1237+ * not a standard. */
1238+ vars["n_ranges"] = "0";
1239+ printer->Print(vars,
1240+ "#define $lcclassname$__field_descriptors NULL\n"
1241+ "#define $lcclassname$__field_indices_by_name NULL\n"
1242+ "#define $lcclassname$__number_ranges NULL\n");
1243+ }
1244
1245 printer->Print(vars,
1246- "const ProtobufCMessageDescriptor $lcclassname$__descriptor =\n"
1247- "{\n"
1248- " PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,\n");
1249+ "const ProtobufCMessageDescriptor $lcclassname$__descriptor =\n"
1250+ "{\n"
1251+ " PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,\n");
1252 if (optimize_code_size) {
1253 printer->Print(" NULL,NULL,NULL,NULL, /* CODE_SIZE */\n");
1254 } else {
1255 printer->Print(vars,
1256- " \"$fullname$\",\n"
1257- " \"$shortname$\",\n"
1258- " \"$classname$\",\n"
1259- " \"$packagename$\",\n");
1260+ " \"$fullname$\",\n"
1261+ " \"$shortname$\",\n"
1262+ " \"$classname$\",\n"
1263+ " \"$packagename$\",\n");
1264 }
1265 printer->Print(vars,
1266- " sizeof($classname$),\n"
1267- " $n_fields$,\n"
1268- " $lcclassname$__field_descriptors,\n");
1269+ " sizeof($classname$),\n"
1270+ " $n_fields$,\n"
1271+ " $lcclassname$__field_descriptors,\n");
1272 if (optimize_code_size) {
1273 printer->Print(" NULL, /* CODE_SIZE */\n");
1274 } else {
1275- printer->Print(vars,
1276- " $lcclassname$__field_indices_by_name,\n");
1277+ printer->Print(vars, " $lcclassname$__field_indices_by_name,\n");
1278 }
1279 printer->Print(vars,
1280- " $n_ranges$,"
1281- " $lcclassname$__number_ranges,\n");
1282+ " $n_ranges$,"
1283+ " $lcclassname$__number_ranges,\n");
1284 if (gen_init) {
1285- printer->Print(vars,
1286- " (ProtobufCMessageInit) $lcclassname$__init,\n");
1287+ printer->Print(vars, " (ProtobufCMessageInit) $lcclassname$__init,\n");
1288 } else {
1289- printer->Print(vars,
1290- " NULL, /* gen_init_helpers = false */\n");
1291+ printer->Print(vars, " NULL, /* gen_init_helpers = false */\n");
1292 }
1293 printer->Print(vars,
1294- " NULL,NULL,NULL /* reserved[123] */\n"
1295- "};\n");
1296+ " NULL,NULL,NULL /* reserved[123] */\n"
1297+ "};\n");
1298 }
1299
1300 int MessageGenerator::GetOneofUnionOrder(const google::protobuf::FieldDescriptor* fd)
1301
1302From c59b146aee2d97091ca2adeecd3f2741cb7f0082 Mon Sep 17 00:00:00 2001
1303From: Robert Edmonds <edmonds@users.noreply.github.com>
1304Date: Sat, 8 Feb 2025 21:10:37 -0500
1305Subject: [PATCH 08/11] compat: Use absl::string_view instead of
1306 google::protobuf::internal::DescriptorStringView
1307
1308Even though google::protobuf::internal::DescriptorStringView is exposed
1309in public protobuf headers, it's probably not a good idea to rely on an
1310"internal" typedef.
1311
1312According to https://protobuf.dev/news/2024-10-02/#descriptor-apis:
1313
1314 v30 will update return types in descriptor (such as full_name) to be
1315 absl::string_view.
1316
1317So `absl::string_view` is probably the right type to use here.
1318---
1319 protoc-gen-c/compat.h | 6 +++++-
1320 1 file changed, 5 insertions(+), 1 deletion(-)
1321
1322diff --git a/protoc-gen-c/compat.h b/protoc-gen-c/compat.h
1323index fe8041b5..a70cef34 100644
1324--- a/protoc-gen-c/compat.h
1325+++ b/protoc-gen-c/compat.h
1326@@ -37,12 +37,16 @@
1327 # define GOOGLE_LOG ABSL_LOG
1328 #endif
1329
1330+#if GOOGLE_PROTOBUF_VERSION >= 6030000
1331+# include <absl/strings/string_view.h>
1332+#endif
1333+
1334 namespace protobuf_c {
1335
1336 namespace compat {
1337
1338 #if GOOGLE_PROTOBUF_VERSION >= 6030000
1339-typedef google::protobuf::internal::DescriptorStringView StringView;
1340+typedef absl::string_view StringView;
1341 #else
1342 typedef const std::string& StringView;
1343 #endif
1344
1345From 9c56038fd9d3cc2552c297457d7a66efe5cbd2c7 Mon Sep 17 00:00:00 2001
1346From: Robert Edmonds <edmonds@users.noreply.github.com>
1347Date: Sat, 8 Feb 2025 21:37:30 -0500
1348Subject: [PATCH 09/11] Makefile.am: Add compat.h to
1349 protoc_gen_c_protoc_gen_c_SOURCES
1350
1351---
1352 Makefile.am | 1 +
1353 1 file changed, 1 insertion(+)
1354
1355diff --git a/Makefile.am b/Makefile.am
1356index 77aa9d99..26d19f16 100644
1357--- a/Makefile.am
1358+++ b/Makefile.am
1359@@ -102,6 +102,7 @@ protoc_gen_c_protoc_gen_c_SOURCES = \
1360 protoc-gen-c/c_service.h \
1361 protoc-gen-c/c_string_field.cc \
1362 protoc-gen-c/c_string_field.h \
1363+ protoc-gen-c/compat.h \
1364 protobuf-c/protobuf-c.pb.cc \
1365 protobuf-c/protobuf-c.pb.h \
1366 protoc-gen-c/main.cc
1367
1368From 4ebd5cd8238d1f2ac6291b8c8925f34e16ce2123 Mon Sep 17 00:00:00 2001
1369From: Robert Edmonds <edmonds@users.noreply.github.com>
1370Date: Sat, 8 Feb 2025 21:38:07 -0500
1371Subject: [PATCH 10/11] compat: Conditionalize the include of <string>
1372
1373It is only needed on older protobuf versions where absl::string_view is
1374not being used.
1375---
1376 protoc-gen-c/compat.h | 4 ++--
1377 1 file changed, 2 insertions(+), 2 deletions(-)
1378
1379diff --git a/protoc-gen-c/compat.h b/protoc-gen-c/compat.h
1380index a70cef34..f6ace7cb 100644
1381--- a/protoc-gen-c/compat.h
1382+++ b/protoc-gen-c/compat.h
1383@@ -28,8 +28,6 @@
1384 #ifndef PROTOBUF_C_PROTOC_GEN_C_COMPAT_H__
1385 #define PROTOBUF_C_PROTOC_GEN_C_COMPAT_H__
1386
1387-#include <string>
1388-
1389 #if GOOGLE_PROTOBUF_VERSION >= 4022000
1390 # define GOOGLE_ARRAYSIZE ABSL_ARRAYSIZE
1391 # define GOOGLE_CHECK_EQ ABSL_CHECK_EQ
1392@@ -39,6 +37,8 @@
1393
1394 #if GOOGLE_PROTOBUF_VERSION >= 6030000
1395 # include <absl/strings/string_view.h>
1396+#else
1397+# include <string>
1398 #endif
1399
1400 namespace protobuf_c {
1401
1402From 9a6b35e1e6956fb5cb044910448049b7a5339244 Mon Sep 17 00:00:00 2001
1403From: Robert Edmonds <edmonds@users.noreply.github.com>
1404Date: Sat, 8 Feb 2025 21:44:42 -0500
1405Subject: [PATCH 11/11] Cater to Microsoft Visual C++
1406
1407Apparently MSVC doesn't support designated initializers for some reason.
1408---
1409 protoc-gen-c/c_enum.cc | 9 ++-------
1410 protoc-gen-c/c_message.cc | 2 +-
1411 2 files changed, 3 insertions(+), 8 deletions(-)
1412
1413diff --git a/protoc-gen-c/c_enum.cc b/protoc-gen-c/c_enum.cc
1414index c7839edd..1940ba9d 100644
1415--- a/protoc-gen-c/c_enum.cc
1416+++ b/protoc-gen-c/c_enum.cc
1417@@ -195,14 +195,9 @@ void EnumGenerator::GenerateEnumDescriptor(google::protobuf::io::Printer* printe
1418 // Sort by name and value, dropping duplicate values if they appear later.
1419 // TODO: use a c++ paradigm for this!
1420 std::vector<ValueIndex> value_index;
1421- for (unsigned j = 0; j < descriptor_->value_count(); j++) {
1422+ for (int j = 0; j < descriptor_->value_count(); j++) {
1423 const google::protobuf::EnumValueDescriptor *vd = descriptor_->value(j);
1424- value_index.push_back({
1425- .value = vd->number(),
1426- .index = j,
1427- .final_index = 0,
1428- .name = vd->name(),
1429- });
1430+ value_index.push_back({ vd->number(), (unsigned)j, 0, vd->name() });
1431 }
1432 qsort(&value_index[0],
1433 value_index.size(),
1434diff --git a/protoc-gen-c/c_message.cc b/protoc-gen-c/c_message.cc
1435index 2a3b2a2f..94889179 100644
1436--- a/protoc-gen-c/c_message.cc
1437+++ b/protoc-gen-c/c_message.cc
1438@@ -581,7 +581,7 @@ GenerateMessageDescriptor(google::protobuf::io::Printer* printer, bool gen_init)
1439 if (!optimize_code_size) {
1440 std::vector<NameIndex> field_indices;
1441 for (unsigned i = 0; i < descriptor_->field_count(); i++) {
1442- field_indices.push_back({ .index = i, .name = sorted_fields[i]->name() });
1443+ field_indices.push_back({ i, sorted_fields[i]->name() });
1444 }
1445 qsort(&field_indices[0],
1446 field_indices.size(),
diff --git a/meta-oe/recipes-devtools/protobuf/protobuf-c_1.5.0.bb b/meta-oe/recipes-devtools/protobuf/protobuf-c_1.5.1.bb
index 24de6b8119..30c9e19b16 100644
--- a/meta-oe/recipes-devtools/protobuf/protobuf-c_1.5.0.bb
+++ b/meta-oe/recipes-devtools/protobuf/protobuf-c_1.5.1.bb
@@ -8,16 +8,17 @@ has been split out into the protobuf-c-rpc project."
8HOMEPAGE = "https://github.com/protobuf-c/protobuf-c" 8HOMEPAGE = "https://github.com/protobuf-c/protobuf-c"
9SECTION = "console/tools" 9SECTION = "console/tools"
10LICENSE = "BSD-2-Clause" 10LICENSE = "BSD-2-Clause"
11LIC_FILES_CHKSUM = "file://LICENSE;md5=d11077c6a2b5d2e64b9f32b61a9b78ba" 11LIC_FILES_CHKSUM = "file://LICENSE;md5=bd8de4f63e06b1ccc06e9f8dc5b1aa97"
12 12
13DEPENDS = "protobuf-native protobuf" 13DEPENDS = "protobuf-native protobuf"
14 14
15SRC_URI = "git://github.com/protobuf-c/protobuf-c.git;branch=master;protocol=https" 15SRC_URI = "git://github.com/protobuf-c/protobuf-c.git;branch=master;protocol=https \
16 file://protobuf-30.patch \
17"
16SRC_URI:append:class-native = " file://0001-Makefile.am-do-not-compile-the-code-which-was-genera.patch" 18SRC_URI:append:class-native = " file://0001-Makefile.am-do-not-compile-the-code-which-was-genera.patch"
17 19
18SRCREV = "8c201f6e47a53feaab773922a743091eb6c8972a" 20SRCREV = "185beed28e65494be7505b30c1afeaf199e19b23"
19 21
20S = "${WORKDIR}/git"
21 22
22inherit autotools pkgconfig 23inherit autotools pkgconfig
23 24
@@ -36,3 +37,6 @@ RDEPENDS:${PN}-compiler = "protobuf-compiler"
36RDEPENDS:${PN}-dev += "${PN}-compiler" 37RDEPENDS:${PN}-dev += "${PN}-compiler"
37 38
38BBCLASSEXTEND = "native nativesdk" 39BBCLASSEXTEND = "native nativesdk"
40
41# No 64bit atomics
42LDFLAGS:append:riscv32 = " -latomic"
diff --git a/meta-oe/recipes-devtools/protobuf/protobuf/0001-Fix-build-on-mips-clang.patch b/meta-oe/recipes-devtools/protobuf/protobuf/0001-Fix-build-on-mips-clang.patch
index 9f6116c4c4..1f5c9127de 100644
--- a/meta-oe/recipes-devtools/protobuf/protobuf/0001-Fix-build-on-mips-clang.patch
+++ b/meta-oe/recipes-devtools/protobuf/protobuf/0001-Fix-build-on-mips-clang.patch
@@ -1,26 +1,34 @@
1From 08e46feb6553af670754e65d94c3bb6fcd4e0cf9 Mon Sep 17 00:00:00 2001 1From cd6c5f36c0dc38e4734b74b03923489b7bfb9aba Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 31 Oct 2021 23:39:44 -0700 3Date: Mon, 10 Mar 2025 19:59:19 -0700
4Subject: [PATCH] Fix build on mips/clang 4Subject: [PATCH] Fix build on mips/clang
5 5
6clang13 crashes on mips, until its fixed upstream disable tailcall on 6clang20 crashes on mips, until its fixed upstream disable tailcall on
7mips 7mips
8 8
9https://bugs.llvm.org/show_bug.cgi?id=52367 9https://github.com/llvm/llvm-project/issues/51709
10 10
11Upstream-Status: Inappropriate [Clang workaround] 11Upstream-Status: Inappropriate [Clang workaround]
12Signed-off-by: Khem Raj <raj.khem@gmail.com> 12Signed-off-by: Khem Raj <raj.khem@gmail.com>
13
14Rebase to v5.29.4
15Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
13--- 16---
14 src/google/protobuf/port_def.inc | 2 +- 17 src/google/protobuf/port_def.inc | 1 +
15 1 file changed, 1 insertion(+), 1 deletion(-) 18 1 file changed, 1 insertion(+)
16 19
20diff --git a/src/google/protobuf/port_def.inc b/src/google/protobuf/port_def.inc
21index 56f995e45..428d096b3 100644
17--- a/src/google/protobuf/port_def.inc 22--- a/src/google/protobuf/port_def.inc
18+++ b/src/google/protobuf/port_def.inc 23+++ b/src/google/protobuf/port_def.inc
19@@ -255,6 +255,7 @@ 24@@ -227,6 +227,7 @@ static_assert(PROTOBUF_ABSL_MIN(20230125, 3),
20 #error PROTOBUF_TAILCALL was previously defined 25 #error PROTOBUF_TAILCALL was previously defined
21 #endif 26 #endif
22 #if __has_cpp_attribute(clang::musttail) && !defined(__arm__) && \ 27 #if ABSL_HAVE_CPP_ATTRIBUTE(clang::musttail) && !defined(__arm__) && \
23+ !defined(__mips__) && \ 28+ !defined(__mips__) && \
24 !defined(_ARCH_PPC) && !defined(__wasm__) && \ 29 !defined(_ARCH_PPC) && !defined(__wasm__) && \
25 !(defined(_MSC_VER) && defined(_M_IX86)) && \ 30 !(defined(_MSC_VER) && defined(_M_IX86)) && !defined(__i386__)
26 !(defined(__NDK_MAJOR__) && __NDK_MAJOR <= 24) 31 // Compilation fails on ARM32: b/195943306
32--
332.25.1
34
diff --git a/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch b/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch
index 7c4bf260eb..53fdf7dece 100644
--- a/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch
+++ b/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch
@@ -1,13 +1,12 @@
1From e3fa241637ab5a7fa78c0d474802134cff75f91e Mon Sep 17 00:00:00 2001 1From f6a3554e37fb39f93e4b47a75318bbda53cfdb46 Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com> 2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Fri, 28 Jun 2019 13:50:52 +0000 3Date: Thu, 20 Mar 2025 20:33:02 -0700
4Subject: [PATCH] examples/Makefile: respect CXX,LDFLAGS variables, fix build 4Subject: [PATCH] examples/Makefile: respect CXX,LDFLAGS variables
5 with gold
6 5
7* move pkg-config call to separate variable, so that the final version 6* move pkg-config call to separate variable, so that the final version
8 of the whole command so it's shown in log.do_compile_ptest_base 7 of the whole command so it's shown in log.do_compile_ptest_base
9* add ../src/google/protobuf/.libs/timestamp.pb.o when linking 8* add ../src/google/protobuf/.libs/timestamp.pb.o when linking
10 add_person_cpp otherwise it fails to link with gold: 9 add_person_cpp otherwise it fails:
11 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` 10 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`
12 /tmp/cccjSJQs.o:addressbook.pb.cc:scc_info_Person_addressbook_2eproto: error: undefined reference to 'scc_info_Timestamp_google_2fprotobuf_2ftimestamp_2eproto' 11 /tmp/cccjSJQs.o:addressbook.pb.cc:scc_info_Person_addressbook_2eproto: error: undefined reference to 'scc_info_Timestamp_google_2fprotobuf_2ftimestamp_2eproto'
13 /tmp/cccjSJQs.o:addressbook.pb.cc:descriptor_table_addressbook_2eproto_deps: error: undefined reference to 'descriptor_table_google_2fprotobuf_2ftimestamp_2eproto' 12 /tmp/cccjSJQs.o:addressbook.pb.cc:descriptor_table_addressbook_2eproto_deps: error: undefined reference to 'descriptor_table_google_2fprotobuf_2ftimestamp_2eproto'
@@ -25,37 +24,39 @@ Upstream-Status: Pending
25Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> 24Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
26Signed-off-by: Leon Anavi <leon.anavi@konsulko.com> 25Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
27 26
27Rebase to 5.29.4
28Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
28--- 29---
29 examples/Makefile | 6 ++++-- 30 examples/Makefile | 6 ++++--
30 1 file changed, 4 insertions(+), 2 deletions(-) 31 1 file changed, 4 insertions(+), 2 deletions(-)
31 32
32diff --git a/examples/Makefile b/examples/Makefile 33diff --git a/examples/Makefile b/examples/Makefile
33index ef7a4ef58..7206e14e1 100644 34index f7ee9b116..8cd1359e2 100644
34--- a/examples/Makefile 35--- a/examples/Makefile
35+++ b/examples/Makefile 36+++ b/examples/Makefile
36@@ -2,6 +2,8 @@ 37@@ -4,6 +4,8 @@
37 38
38 .PHONY: all cpp java python clean 39 all: cpp java python
39 40
40+PROTOBUF := $(shell pkg-config --cflags --libs protobuf) 41+PROTOBUF := $(shell pkg-config --cflags --libs protobuf)
41+ 42+
42 all: cpp java python
43
44 cpp: add_person_cpp list_people_cpp 43 cpp: add_person_cpp list_people_cpp
45@@ -41,11 +43,11 @@ protoc_middleman_dart: addressbook.proto 44 dart: add_person_dart list_people_dart
45 go: add_person_go list_people_go
46@@ -46,11 +48,11 @@ protoc_middleman_ruby: addressbook.proto
46 47
47 add_person_cpp: add_person.cc protoc_middleman 48 add_person_cpp: add_person.cc protoc_middleman
48 pkg-config --cflags protobuf # fails if protobuf is not installed 49 pkg-config --cflags protobuf # fails if protobuf is not installed
49- c++ -std=c++14 add_person.cc addressbook.pb.cc -o add_person_cpp `pkg-config --cflags --libs protobuf` 50- c++ add_person.cc addressbook.pb.cc -o add_person_cpp `pkg-config --cflags --libs protobuf`
50+ $(CXX) $(CXXFLAGS) $(LDFLAGS) ../src/google/protobuf/.libs/timestamp.pb.o $(PROTOBUF) add_person.cc addressbook.pb.cc -o add_person_cpp #$(CXX) -std=c++17 $(PROTOBUF) add_person.cc addressbook.pb.cc -o add_person_cpp 51+ $(CXX) $(CXXFLAGS) $(LDFLAGS) ../src/google/protobuf/.libs/timestamp.pb.o $(PROTOBUF) add_person.cc addressbook.pb.cc -o add_person_cpp
51 52
52 list_people_cpp: list_people.cc protoc_middleman 53 list_people_cpp: list_people.cc protoc_middleman
53 pkg-config --cflags protobuf # fails if protobuf is not installed 54 pkg-config --cflags protobuf # fails if protobuf is not installed
54- c++ -std=c++14 list_people.cc addressbook.pb.cc -o list_people_cpp `pkg-config --cflags --libs protobuf` 55- c++ list_people.cc addressbook.pb.cc -o list_people_cpp `pkg-config --cflags --libs protobuf`
55+ $(CXX) $(CXXFLAGS) $(LDFLAGS) ../src/google/protobuf/.libs/timestamp.pb.o $(PROTOBUF) list_people.cc addressbook.pb.cc -o list_people_cpp #$(CXX) -std=c++17 $(PROTOBUF) list_people.cc addressbook.pb.cc -o list_people_cpp 56+ $(CXX) $(CXXFLAGS) $(LDFLAGS) ../src/google/protobuf/.libs/timestamp.pb.o $(PROTOBUF) list_people.cc addressbook.pb.cc -o list_people_cpp
56 57
57 add_person_dart: add_person.dart protoc_middleman_dart 58 add_person_dart: add_person.dart protoc_middleman_dart
58 59
59-- 60--
602.34.1 612.25.1
61 62
diff --git a/meta-oe/recipes-devtools/protobuf/protobuf/0001-fix-protobuf-native-build-failure-with-gcc-10.patch b/meta-oe/recipes-devtools/protobuf/protobuf/0001-fix-protobuf-native-build-failure-with-gcc-10.patch
new file mode 100644
index 0000000000..2edba6b7eb
--- /dev/null
+++ b/meta-oe/recipes-devtools/protobuf/protobuf/0001-fix-protobuf-native-build-failure-with-gcc-10.patch
@@ -0,0 +1,46 @@
1From 213f29fb63473304db098b3d12a0393fd50e4914 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 17 Mar 2025 13:28:13 +0800
4Subject: [PATCH] fix protobuf-native build failure with gcc 10
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9Build protobuf-native failed on ubuntu 20.04 which has gcc 10
10
11protobuf-native/4.30.0/git/src/google/protobuf/port_def.inc:105:48:
12error: static assertion failed: Protobuf only supports C+
13 ↪ +17 and newer.
14 | 105 | #define PROTOBUF_CPLUSPLUS_MIN(x) (__cplusplus >= x)
15 | | ~~~~~~~~~~~~~^~~~~
16 | /home/kraj01/yoe/build/tmp/work/x86_64-linux/protobuf-native/4.30.0/git/src/google/protobuf/port_def.inc:119:15:
17note: in expansion of macro ‘PROTOBUF_CPLUSPLUS_MIN’
18 | 119 | static_assert(PROTOBUF_CPLUSPLUS_MIN(201703L),
19 | | ^~~~~~~~~~~~~~~~~~~~~~
20
21Upstream-Status: Pending
22
23Signed-off-by: Khem Raj <raj.khem@gmail.com>
24Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
25---
26 CMakeLists.txt | 4 ++++
27 1 file changed, 4 insertions(+)
28
29diff --git a/CMakeLists.txt b/CMakeLists.txt
30index e90cb8aa2..3ffac1307 100644
31--- a/CMakeLists.txt
32+++ b/CMakeLists.txt
33@@ -14,6 +14,10 @@ endif()
34 # Project
35 project(protobuf C CXX)
36
37+set(CMAKE_CXX_STANDARD 17)
38+set(CMAKE_CXX_STANDARD_REQUIRED ON)
39+set(CMAKE_CXX_EXTENSIONS OFF)
40+
41 if(protobuf_DEPRECATED_CMAKE_SUBDIRECTORY_USAGE)
42 if(CMAKE_PROJECT_NAME STREQUAL "protobuf")
43 get_filename_component(CMAKE_SOURCE_DIR ${CMAKE_SOURCE_DIR} DIRECTORY)
44--
452.25.1
46
diff --git a/meta-oe/recipes-devtools/protobuf/protobuf/0001-utf8_range-add-version-marker-to-library-19009.patch b/meta-oe/recipes-devtools/protobuf/protobuf/0001-utf8_range-add-version-marker-to-library-19009.patch
new file mode 100644
index 0000000000..e58fdc1d19
--- /dev/null
+++ b/meta-oe/recipes-devtools/protobuf/protobuf/0001-utf8_range-add-version-marker-to-library-19009.patch
@@ -0,0 +1,43 @@
1From fd020ef700dbf2d324aecd087b8fcb6ff329feb6 Mon Sep 17 00:00:00 2001
2From: Jan Engelhardt <jengelh@inai.de>
3Date: Thu, 21 Nov 2024 11:30:17 -0800
4Subject: [PATCH] utf8_range: add version marker to library (#19009)
5
6Unversioned libraries / libraries without due ABI indicators are not allowed in certain Linux distributions because it precludes the concurrent presence of multiple versions.
7
8If you have both /usr/lib/libprotobuf-lite.so.28.3.0 and /usr/lib/libprotobuf-lite.so.29.0.0, both of them want libutf8_validity.so, but if the ABI is different between utf8_range 28 and utf8_range 29, that's a problem.
9
10Closes #19009
11
12COPYBARA_INTEGRATE_REVIEW=https://github.com/protocolbuffers/protobuf/pull/19009 from jengelh:master 1a5f8682be2f2b84da07fcdd32474baae8088959
13PiperOrigin-RevId: 698855702
14
15Upstream-Status: Backport [https://github.com/protocolbuffers/protobuf/commit/ced605d0e6a7ad20985375b596b2ca6720e07737]
16Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
17---
18 third_party/utf8_range/CMakeLists.txt | 9 +++++++++
19 1 file changed, 9 insertions(+)
20
21diff --git a/third_party/utf8_range/CMakeLists.txt b/third_party/utf8_range/CMakeLists.txt
22index 4276b97290..e054893c63 100644
23--- a/third_party/utf8_range/CMakeLists.txt
24+++ b/third_party/utf8_range/CMakeLists.txt
25@@ -19,6 +19,15 @@ add_library (utf8_range
26 # A heavier-weight C++ wrapper that supports Abseil.
27 add_library (utf8_validity utf8_validity.cc utf8_range.c)
28
29+set_target_properties(utf8_range PROPERTIES
30+ VERSION ${protobuf_VERSION}
31+ OUTPUT_NAME ${LIB_PREFIX}utf8_range
32+)
33+set_target_properties(utf8_validity PROPERTIES
34+ VERSION ${protobuf_VERSION}
35+ OUTPUT_NAME ${LIB_PREFIX}utf8_validity
36+)
37+
38 # Load Abseil dependency.
39 if (NOT TARGET absl::strings)
40 if (NOT ABSL_ROOT_DIR)
41--
422.34.1
43
diff --git a/meta-oe/recipes-devtools/protobuf/protobuf_4.25.3.bb b/meta-oe/recipes-devtools/protobuf/protobuf_6.31.1.bb
index 3241345963..90be1179aa 100644
--- a/meta-oe/recipes-devtools/protobuf/protobuf_4.25.3.bb
+++ b/meta-oe/recipes-devtools/protobuf/protobuf_6.31.1.bb
@@ -4,22 +4,28 @@ efficient yet extensible format. Google uses Protocol Buffers for almost \
4all of its internal RPC protocols and file formats." 4all of its internal RPC protocols and file formats."
5HOMEPAGE = "https://github.com/google/protobuf" 5HOMEPAGE = "https://github.com/google/protobuf"
6SECTION = "console/tools" 6SECTION = "console/tools"
7LICENSE = "BSD-3-Clause" 7LICENSE = "BSD-3-Clause & MIT"
8LIC_FILES_CHKSUM = "file://LICENSE;md5=37b5762e07f0af8c74ce80a8bda4266b" 8LIC_FILES_CHKSUM = " \
9 file://LICENSE;md5=37b5762e07f0af8c74ce80a8bda4266b \
10 file://third_party/utf8_range/LICENSE;md5=d4974d297231477b2ff507c35d61c13c \
11"
9 12
10DEPENDS = "zlib abseil-cpp" 13DEPENDS = "zlib abseil-cpp jsoncpp"
11DEPENDS:append:class-target = " protobuf-native" 14DEPENDS:append:class-target = " protobuf-native"
12 15
13SRCREV = "4a2aef570deb2bfb8927426558701e8bfc26f2a4" 16SRCREV = "74211c0dfc2777318ab53c2cd2c317a2ef9012de"
14 17
15SRC_URI = "gitsm://github.com/protocolbuffers/protobuf.git;branch=25.x;protocol=https \ 18SRC_URI = "git://github.com/protocolbuffers/protobuf.git;branch=31.x;protocol=https \
16 file://run-ptest \ 19 file://run-ptest \
17 file://0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch \ 20 file://0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch \
21 file://0001-fix-protobuf-native-build-failure-with-gcc-10.patch \
18 " 22 "
19SRC_URI:append:mips:toolchain-clang = " file://0001-Fix-build-on-mips-clang.patch " 23SRC_URI:append:mipsarcho32:toolchain-clang = " file://0001-Fix-build-on-mips-clang.patch "
20SRC_URI:append:mipsel:toolchain-clang = " file://0001-Fix-build-on-mips-clang.patch " 24
25UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>.(25\.(\d+)))"
26
21 27
22S = "${WORKDIR}/git" 28CVE_PRODUCT = "google:protobuf protobuf:protobuf google-protobuf protobuf-cpp"
23 29
24inherit cmake pkgconfig ptest 30inherit cmake pkgconfig ptest
25 31
@@ -35,11 +41,15 @@ EXTRA_OECMAKE += "\
35 -Dprotobuf_BUILD_TESTS=OFF \ 41 -Dprotobuf_BUILD_TESTS=OFF \
36 -Dprotobuf_BUILD_EXAMPLES=OFF \ 42 -Dprotobuf_BUILD_EXAMPLES=OFF \
37 -Dprotobuf_ABSL_PROVIDER="package" \ 43 -Dprotobuf_ABSL_PROVIDER="package" \
44 -Dprotobuf_JSONCPP_PROVIDER="package" \
38" 45"
39 46
40TEST_SRC_DIR = "examples" 47TEST_SRC_DIR = "examples"
41LANG_SUPPORT = "cpp ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python', '', d)}" 48LANG_SUPPORT = "cpp ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python', '', d)}"
42 49
50CXXFLAGS:append:mipsarcho32 = " -latomic"
51CXXFLAGS:append:riscv32 = " -latomic"
52
43do_compile_ptest() { 53do_compile_ptest() {
44 mkdir -p "${B}/${TEST_SRC_DIR}" 54 mkdir -p "${B}/${TEST_SRC_DIR}"
45 55
@@ -105,14 +115,9 @@ FILES:${PN}-lite = "${libdir}/libprotobuf-lite${SOLIBS}"
105SYSROOT_DIRS += "${bindir}" 115SYSROOT_DIRS += "${bindir}"
106 116
107RDEPENDS:${PN}-compiler = "${PN}" 117RDEPENDS:${PN}-compiler = "${PN}"
108RDEPENDS:${PN}-dev += "${PN}-compiler" 118RDEPENDS:${PN}-dev += "${@bb.utils.contains('PACKAGECONFIG', 'compiler', '${PN}-compiler', '', d)}"
109RDEPENDS:${PN}-ptest = "bash ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3-protobuf', '', d)}" 119RDEPENDS:${PN}-ptest = "bash ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3-protobuf', '', d)}"
110 120
111MIPS_INSTRUCTION_SET = "mips" 121MIPS_INSTRUCTION_SET = "mips"
112 122
113BBCLASSEXTEND = "native nativesdk" 123BBCLASSEXTEND = "native nativesdk"
114
115LDFLAGS:append:arm = " -latomic"
116LDFLAGS:append:mips = " -latomic"
117LDFLAGS:append:powerpc = " -latomic"
118LDFLAGS:append:mipsel = " -latomic"
diff --git a/meta-oe/recipes-devtools/pstack/files/0001-tests-fix-the-issue-of-cross-compilation-failure.patch b/meta-oe/recipes-devtools/pstack/files/0001-tests-fix-the-issue-of-cross-compilation-failure.patch
new file mode 100644
index 0000000000..2b54750e7a
--- /dev/null
+++ b/meta-oe/recipes-devtools/pstack/files/0001-tests-fix-the-issue-of-cross-compilation-failure.patch
@@ -0,0 +1,28 @@
1From a8c3996d3f8d9b8f3a2888b7062c1139263c5aba Mon Sep 17 00:00:00 2001
2From: Wen Yang <yellowriver2010@hotmail.com>
3Date: Mon, 23 Jun 2025 02:06:53 +0800
4Subject: [PATCH] tests: fix the issue of cross compilation failure
5
6By replacing objcopy with MAKE_OBJCOPY, pstack could support both
7native and cross compilation.
8
9Upstream-Status: Backport [https://github.com/peadar/pstack/pull/38]
10---
11 tests/CMakeLists.txt | 2 +-
12 1 file changed, 1 insertion(+), 1 deletion(-)
13
14diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
15index 71a62a7..bf11a04 100644
16--- a/tests/CMakeLists.txt
17+++ b/tests/CMakeLists.txt
18@@ -38,7 +38,7 @@ SET_TARGET_PROPERTIES(noreturn PROPERTIES COMPILE_FLAGS "-O2 -g")
19
20 add_custom_command(
21 OUTPUT basic-no-unwind-gen
22- COMMAND objcopy --strip-debug --remove-section .eh_frame basic basic-no-unwind
23+ COMMAND ${CMAKE_OBJCOPY} --strip-debug --remove-section .eh_frame basic basic-no-unwind
24 VERBATIM )
25
26 add_custom_target(basic-no-unwind ALL DEPENDS basic basic-no-unwind-gen)
27--
282.25.1
diff --git a/meta-oe/recipes-devtools/pstack/pstack.inc b/meta-oe/recipes-devtools/pstack/pstack.inc
new file mode 100644
index 0000000000..ee0518c9cc
--- /dev/null
+++ b/meta-oe/recipes-devtools/pstack/pstack.inc
@@ -0,0 +1,43 @@
1SUMMARY = "A utility to print stack traces of running processes"
2DESCRIPTION = "A from-scratch implementation of pstack using DWARF debugging and unwind information. \
3Works for C/C++, Go, Rust, and Python. A traditional pstack command can generally print a backtrace \
4of each thread in a running program, and sometimes from a core file. This version of pstack uses its \
5own self contained ELF and DWARF parsing library, libdwelf to parse the DWARF debug and unwind \
6information, to get a stack trace."
7HOMEPAGE = "https://github.com/peadar/pstack"
8SECTION = "devel"
9LICENSE = "BSD-2-Clause"
10LIC_FILES_CHKSUM = "file://LICENSE;md5=671019a96ba80415b696240ed2ca5e80"
11
12inherit cmake
13
14DEPENDS += "zlib xz libunwind elfutils"
15
16RDEPENDS:${PN} += "elfutils"
17
18do_install() {
19 install -d ${D}${bindir}
20 install -m 0755 ${B}/pstack ${D}${bindir}/pstack
21
22 install -d ${D}${libdir}
23 install -m 0755 ${B}/libprocman.so.${PV} ${D}${libdir}/libprocman.so.${PV}
24 ln -sf libprocman.so.${PV} ${D}${libdir}/libprocman.so
25 install -m 0755 ${B}/libdwelf.so.${PV} ${D}${libdir}/libdwelf.so.${PV}
26 ln -sf libdwelf.so.${PV} ${D}${libdir}/libdwelf.so
27}
28
29PACKAGES = "${PN}"
30FILES:${PN} = "${bindir}/pstack"
31FILES:${PN} += "${libdir}/libprocman.so.${PV}"
32FILES:${PN} += "${libdir}/libdwelf.so.${PV}"
33
34PACKAGES += "${PN}-dbg"
35FILES:${PN}-dbg += "${base_bindir}/.debug ${base_sbindir}/.debug ${bindir}/.debug ${sbindir}/.debug"
36
37PACKAGES += "${PN}-dev"
38FILES:${PN}-dev += "${base_libdir}/*.so"
39
40TOOLCHAIN = "gcc"
41
42COMPATIBLE_HOST:riscv64 = "null"
43COMPATIBLE_HOST:riscv32 = "null"
diff --git a/meta-oe/recipes-devtools/pstack/pstack_2.10.bb b/meta-oe/recipes-devtools/pstack/pstack_2.10.bb
new file mode 100644
index 0000000000..bed49b62ba
--- /dev/null
+++ b/meta-oe/recipes-devtools/pstack/pstack_2.10.bb
@@ -0,0 +1,31 @@
1SUMMARY = "A from-scratch implementation of pstack using DWARF debugging \
2and unwind information. Works for C/C++, Go, Rust, and Python."
3
4HOMEPAGE = "https://github.com/peadar/pstack"
5SECTION = "devel/pstack"
6
7LICENSE = "BSD-2-Clause"
8LIC_FILES_CHKSUM = "file://LICENSE;md5=671019a96ba80415b696240ed2ca5e80"
9
10DEPENDS = "tcl virtual/libx11 libxt zip-native"
11
12SRC_URI = "git://github.com/peadar/pstack;branch=master;tag=v${PV};protocol=https"
13SRCREV = "a310df637d74917a1d3570c540bf3aef899d7e63"
14
15PACKAGES =+ "${PN}-lib"
16
17SOLIBS = ".so"
18FILES_SOLIBSDEV = ""
19
20# isn't getting picked up by shlibs code
21RDEPENDS:${PN} += "tk-lib"
22RDEPENDS:${PN}:class-native = ""
23
24BBCLASSEXTEND = "native nativesdk"
25
26inherit binconfig
27
28SYSROOT_DIRS += "${bindir_crossscripts}"
29
30# Fix some paths that might be used by Tcl extensions
31BINCONFIG_GLOB = "*Config.sh"
diff --git a/meta-oe/recipes-devtools/pstack/pstack_git.bb b/meta-oe/recipes-devtools/pstack/pstack_git.bb
new file mode 100644
index 0000000000..cc6721f9e3
--- /dev/null
+++ b/meta-oe/recipes-devtools/pstack/pstack_git.bb
@@ -0,0 +1,8 @@
1require pstack.inc
2
3SRCREV = "1e1734be3adb6d9c81b57c5cc3d0c8fbc43bdee3"
4PV = "2.11"
5
6SRC_URI = "git://github.com/peadar/pstack.git;branch=master;protocol=https \
7 file://0001-tests-fix-the-issue-of-cross-compilation-failure.patch \
8 "
diff --git a/meta-oe/recipes-devtools/pugixml/pugixml_1.14.bb b/meta-oe/recipes-devtools/pugixml/pugixml_1.15.bb
index 458958edf5..457fa59435 100644
--- a/meta-oe/recipes-devtools/pugixml/pugixml_1.14.bb
+++ b/meta-oe/recipes-devtools/pugixml/pugixml_1.15.bb
@@ -7,12 +7,13 @@ data-driven tree queries."
7HOMEPAGE = "https://pugixml.org/" 7HOMEPAGE = "https://pugixml.org/"
8 8
9LICENSE = "MIT" 9LICENSE = "MIT"
10LIC_FILES_CHKSUM = "file://readme.txt;beginline=29;endline=52;md5=ad370df61d83846cf9e4726244671201" 10LIC_FILES_CHKSUM = "file://readme.txt;beginline=29;endline=52;md5=5dbb98bbc2e5051c26ce32508b4f703e"
11 11
12SRC_URI = "https://github.com/zeux/${BPN}/releases/download/v${PV}/${BP}.tar.gz" 12SRC_URI = "https://github.com/zeux/${BPN}/releases/download/v${PV}/${BP}.tar.gz"
13SRC_URI[sha256sum] = "2f10e276870c64b1db6809050a75e11a897a8d7456c4be5c6b2e35a11168a015" 13SRC_URI[sha256sum] = "655ade57fa703fb421c2eb9a0113b5064bddb145d415dd1f88c79353d90d511a"
14 14
15UPSTREAM_CHECK_URI = "https://github.com/zeux/${BPN}/releases" 15UPSTREAM_CHECK_URI = "https://github.com/zeux/${BPN}/releases"
16UPSTREAM_CHECK_REGEX = "releases/tag/v(?P<pver>\d+(\.\d+)+)"
16 17
17inherit cmake 18inherit cmake
18 19
diff --git a/meta-oe/recipes-devtools/python/python3-apt_2.5.3.bb b/meta-oe/recipes-devtools/python/python3-apt_2.5.3.bb
index 1d54b9f6af..d5c440f413 100644
--- a/meta-oe/recipes-devtools/python/python3-apt_2.5.3.bb
+++ b/meta-oe/recipes-devtools/python/python3-apt_2.5.3.bb
@@ -7,7 +7,6 @@ SRC_URI = "git://salsa.debian.org/apt-team/python-apt.git;protocol=https;branch=
7 7
8SRCREV = "3252935b6224b3bd2e2250894b9559b47c61b2e1" 8SRCREV = "3252935b6224b3bd2e2250894b9559b47c61b2e1"
9 9
10S = "${WORKDIR}/git"
11 10
12inherit setuptools3 11inherit setuptools3
13 12
diff --git a/meta-oe/recipes-devtools/python/python3-distutils-extra_2.39.bb b/meta-oe/recipes-devtools/python/python3-distutils-extra_2.39.bb
index a98dfab6d9..d80eac7756 100644
--- a/meta-oe/recipes-devtools/python/python3-distutils-extra_2.39.bb
+++ b/meta-oe/recipes-devtools/python/python3-distutils-extra_2.39.bb
@@ -10,6 +10,6 @@ SRC_URI[sha256sum] = "723f24f4d65fc8d99b33a002fbbb3771d4cc9d664c97085bf37f3997ae
10 10
11inherit setuptools3 11inherit setuptools3
12 12
13S = "${WORKDIR}/python-distutils-extra-${PV}" 13S = "${UNPACKDIR}/python-distutils-extra-${PV}"
14 14
15BBCLASSEXTEND = "native" 15BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/python/python3-psycopg_3.2.9.bb b/meta-oe/recipes-devtools/python/python3-psycopg_3.2.9.bb
new file mode 100644
index 0000000000..9be72bc4fd
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python3-psycopg_3.2.9.bb
@@ -0,0 +1,14 @@
1SUMMARY = "Psycopg 3 is the implementation of a PostgreSQL adapter for Python."
2DESCRIPTION = "Psycopg is the most popular PostgreSQL adapter for the Python \
3programming language. Its core is a complete implementation of the Python DB \
4API 2.0 specifications. Several extensions allow access to many of the \
5features offered by PostgreSQL."
6
7LICENSE = "LGPL-3.0-only"
8LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3000208d539ec061b899bce1d9ce9404"
9
10SRC_URI[sha256sum] = "2fbb46fcd17bc81f993f28c47f1ebea38d66ae97cc2dbc3cad73b37cefbff700"
11
12inherit pypi python_setuptools_build_meta
13
14RDEPENDS:${PN} = "libpq"
diff --git a/meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb b/meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb
index 8519479c4d..724d329ee2 100644
--- a/meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb
+++ b/meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb
@@ -10,7 +10,6 @@ SRCREV = "0ccdbf364c577803e2a751f5aededce935314313"
10 10
11PV = "1.1.0+git" 11PV = "1.1.0+git"
12 12
13S = "${WORKDIR}/git"
14 13
15inherit cmake 14inherit cmake
16 15
diff --git a/meta-oe/recipes-devtools/serialcheck/serialcheck_1.0.0.bb b/meta-oe/recipes-devtools/serialcheck/serialcheck_1.0.0.bb
index 29abfe1af5..672c46055d 100644
--- a/meta-oe/recipes-devtools/serialcheck/serialcheck_1.0.0.bb
+++ b/meta-oe/recipes-devtools/serialcheck/serialcheck_1.0.0.bb
@@ -9,7 +9,6 @@ SRC_URI = " \
9 9
10SRCREV = "45eb2ffa5378396e85432872833890b0a1cba872" 10SRCREV = "45eb2ffa5378396e85432872833890b0a1cba872"
11 11
12S = "${WORKDIR}/git"
13 12
14inherit autotools 13inherit autotools
15 14
diff --git a/meta-oe/recipes-devtools/sexpect/sexpect_2.3.15.bb b/meta-oe/recipes-devtools/sexpect/sexpect_2.3.15.bb
new file mode 100644
index 0000000000..72ccd1d6b7
--- /dev/null
+++ b/meta-oe/recipes-devtools/sexpect/sexpect_2.3.15.bb
@@ -0,0 +1,11 @@
1SUMMARY = "sexpect is another implementation of Expect which is specifically designed for Shell scripts"
2HOMEPAGE = "https://github.com/clarkwang/sexpect"
3LICENSE = "GPL-3.0-only"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504"
5
6BRANCH = "master"
7SRC_URI = "git://github.com/clarkwang/sexpect;branch=${BRANCH};protocol=https;tag=v${PV}"
8SRCREV = "d3645392424d47532be90fcbc0abf3148324785b"
9
10
11inherit cmake
diff --git a/meta-oe/recipes-devtools/sip/sip_6.8.3.bb b/meta-oe/recipes-devtools/sip/sip_6.12.0.bb
index d12130af43..20e705f1a6 100644
--- a/meta-oe/recipes-devtools/sip/sip_6.8.3.bb
+++ b/meta-oe/recipes-devtools/sip/sip_6.12.0.bb
@@ -3,15 +3,17 @@
3 3
4SUMMARY = "A Python bindings generator for C/C++ libraries" 4SUMMARY = "A Python bindings generator for C/C++ libraries"
5 5
6HOMEPAGE = "https://www.riverbankcomputing.com/software/sip/" 6HOMEPAGE = "https://github.com/Python-SIP/sip"
7LICENSE = "GPL-2.0-or-later" 7LICENSE = "BSD-2-Clause"
8SECTION = "devel" 8SECTION = "devel"
9LIC_FILES_CHKSUM = "file://LICENSE-GPL2;md5=e91355d8a6f8bd8f7c699d62863c7303" 9LIC_FILES_CHKSUM = "file://LICENSE;md5=236276327275fdb261636fb40b18d88d"
10 10
11inherit pypi setuptools3 python3native 11inherit pypi python_setuptools_build_meta python3native
12 12
13PYPI_PACKAGE = "sip" 13PYPI_PACKAGE = "sip"
14SRC_URI[sha256sum] = "888547b018bb24c36aded519e93d3e513d4c6aa0ba55b7cc1affbd45cf10762c" 14SRC_URI[sha256sum] = "083ced94f85315493231119a63970b2ba42b1d38b38e730a70e02a99191a89c6"
15
16DEPENDS += "python3-setuptools-scm-native"
15 17
16RDEPENDS:${PN} = " \ 18RDEPENDS:${PN} = " \
17 python3-core \ 19 python3-core \
diff --git a/meta-oe/recipes-devtools/smemstat/smemstat_0.02.13.bb b/meta-oe/recipes-devtools/smemstat/smemstat_0.02.13.bb
index bf5c52fe50..ea4fc5d3dd 100644
--- a/meta-oe/recipes-devtools/smemstat/smemstat_0.02.13.bb
+++ b/meta-oe/recipes-devtools/smemstat/smemstat_0.02.13.bb
@@ -9,7 +9,6 @@ DEPENDS = "ncurses"
9SRC_URI = "git://github.com/ColinIanKing/smemstat.git;protocol=https;branch=master" 9SRC_URI = "git://github.com/ColinIanKing/smemstat.git;protocol=https;branch=master"
10SRCREV = "1edc560602aa116b96408110b8b9d66a4edef60e" 10SRCREV = "1edc560602aa116b96408110b8b9d66a4edef60e"
11 11
12S = "${WORKDIR}/git"
13 12
14inherit bash-completion 13inherit bash-completion
15 14
diff --git a/meta-oe/recipes-devtools/sqlite-orm/sqlite-orm/0001-fix-cstdint-error-with-gcc-15.0.1.patch b/meta-oe/recipes-devtools/sqlite-orm/sqlite-orm/0001-fix-cstdint-error-with-gcc-15.0.1.patch
new file mode 100644
index 0000000000..af884808f2
--- /dev/null
+++ b/meta-oe/recipes-devtools/sqlite-orm/sqlite-orm/0001-fix-cstdint-error-with-gcc-15.0.1.patch
@@ -0,0 +1,52 @@
1From f011501e719e0042fc6ca29ac7b33e8a14562246 Mon Sep 17 00:00:00 2001
2From: "mark.yang" <mark.yang@lge.com>
3Date: Tue, 1 Apr 2025 19:45:01 +0900
4Subject: [PATCH] fix cstdint error with gcc-15.0.1
5
6* see more details:
7 http://errors.yoctoproject.org/Errors/Details/850148/
8 TOPDIR/tmp/work/core2-64-oe-linux/sqlite-orm/1.5/git/examples/synchronous.cpp:7:5: error: 'uint16_t' does not name a type
9 7 | uint16_t src_port;
10 | ^~~~~~~~
11 TOPDIR/tmp/work/core2-64-oe-linux/sqlite-orm/1.5/git/examples/synchronous.cpp:3:1: note: 'uint16_t' is defined in header '<cstdint>'; this is probably fixable by adding '#include <cstdint>'
12 2 | #include <sqlite_orm/sqlite_orm.h>
13 +++ |+#include <cstdint>
14 3 | #include <string>
15
16While this was backported from 6a96d1cec4(Explicitly included <cstdint> in examples and unit tests),
17since it was a commit made in v1.9, only synchronous.cpp was modified as other files do not exist in the current version.
18
19Signed-off-by: mark.yang <mark.yang@lge.com>
20
21Upstream-Status: Backport [6a96d1c Explicitly included <cstdint> in examples and unit tests]
22---
23 examples/synchronous.cpp | 11 ++++++-----
24 1 file changed, 6 insertions(+), 5 deletions(-)
25
26diff --git a/examples/synchronous.cpp b/examples/synchronous.cpp
27index d10da13d..b103b48c 100644
28--- a/examples/synchronous.cpp
29+++ b/examples/synchronous.cpp
30@@ -1,15 +1,16 @@
31
32 #include <sqlite_orm/sqlite_orm.h>
33+#include <cstdint>
34 #include <string>
35
36 struct Query {
37 std::string src_ip;
38- uint16_t src_port;
39- uint16_t txn_id;
40- uint32_t tv_sec;
41- uint32_t tv_usec;
42+ std::uint16_t src_port;
43+ std::uint16_t txn_id;
44+ std::uint32_t tv_sec;
45+ std::uint32_t tv_usec;
46 std::string name;
47- uint16_t type;
48+ std::uint16_t type;
49 };
50
51 int main(int, char **) {
52
diff --git a/meta-oe/recipes-devtools/sqlite-orm/sqlite-orm_1.5.bb b/meta-oe/recipes-devtools/sqlite-orm/sqlite-orm_1.5.bb
index db90bc589e..ee203f83e2 100644
--- a/meta-oe/recipes-devtools/sqlite-orm/sqlite-orm_1.5.bb
+++ b/meta-oe/recipes-devtools/sqlite-orm/sqlite-orm_1.5.bb
@@ -8,8 +8,10 @@ inherit cmake
8DEPENDS += "sqlite3" 8DEPENDS += "sqlite3"
9 9
10SRCREV = "e8a9e9416f421303f4b8970caab26dadf8bae98b" 10SRCREV = "e8a9e9416f421303f4b8970caab26dadf8bae98b"
11SRC_URI = "git://github.com/fnc12/sqlite_orm;protocol=https;branch=master" 11SRC_URI = " \
12S = "${WORKDIR}/git" 12 git://github.com/fnc12/sqlite_orm;protocol=https;branch=master \
13 file://0001-fix-cstdint-error-with-gcc-15.0.1.patch \
14"
13 15
14EXTRA_OECMAKE += "-DSqliteOrm_BuildTests=OFF -DLIB_INSTALL_DIR=${libdir} \ 16EXTRA_OECMAKE += "-DSqliteOrm_BuildTests=OFF -DLIB_INSTALL_DIR=${libdir} \
15 -DCMAKE_INSTALL_DIR=${libdir}/cmake \ 17 -DCMAKE_INSTALL_DIR=${libdir}/cmake \
diff --git a/meta-oe/recipes-devtools/squashfs-tools-ng/squashfs-tools-ng_1.2.0.bb b/meta-oe/recipes-devtools/squashfs-tools-ng/squashfs-tools-ng_1.3.2.bb
index 880af82bba..966d14874e 100644
--- a/meta-oe/recipes-devtools/squashfs-tools-ng/squashfs-tools-ng_1.2.0.bb
+++ b/meta-oe/recipes-devtools/squashfs-tools-ng/squashfs-tools-ng_1.3.2.bb
@@ -11,10 +11,9 @@ LIC_FILES_CHKSUM = "file://COPYING.md;md5=a709b68f1ce8a9f10aeea6401446c1f4 \
11 file://licenses/zstd.txt;md5=8df8137b630239cbdd4c0674124cb0c8 \ 11 file://licenses/zstd.txt;md5=8df8137b630239cbdd4c0674124cb0c8 \
12 " 12 "
13 13
14SRCREV = "f2a3ad56e40c9711b23371238f9fa07dd24245f1" 14SRCREV = "667faf69cc35215e33e747b4bffdcba3643c2629"
15SRC_URI = "git://github.com/AgentD/squashfs-tools-ng.git;protocol=https;branch=master" 15SRC_URI = "git://github.com/AgentD/squashfs-tools-ng.git;protocol=https;branch=fixes-1.3.0"
16 16
17S = "${WORKDIR}/git"
18 17
19inherit autotools pkgconfig 18inherit autotools pkgconfig
20 19
diff --git a/meta-oe/recipes-devtools/ssd1306/ssd1306_git.bb b/meta-oe/recipes-devtools/ssd1306/ssd1306_git.bb
index f9e3679590..7824ed1a68 100644
--- a/meta-oe/recipes-devtools/ssd1306/ssd1306_git.bb
+++ b/meta-oe/recipes-devtools/ssd1306/ssd1306_git.bb
@@ -1,4 +1,4 @@
1SUMMARY="SSD1306 OLED I2C drive" 1SUMMARY = "SSD1306 OLED I2C drive"
2DESCRIPTION = "SSD1306 OLED I2C driver working in Linux" 2DESCRIPTION = "SSD1306 OLED I2C driver working in Linux"
3HOMEPAGE = "https://github.com/armlabs/ssd1306_linux" 3HOMEPAGE = "https://github.com/armlabs/ssd1306_linux"
4SECTION = "console/utils" 4SECTION = "console/utils"
@@ -11,7 +11,6 @@ SRC_URI = " \
11" 11"
12SRCREV = "34b42992a43fda69c6ba2557b718601cafe16251" 12SRCREV = "34b42992a43fda69c6ba2557b718601cafe16251"
13 13
14S = "${WORKDIR}/git"
15 14
16# coreutils provides fmt which is used in the Makefile 15# coreutils provides fmt which is used in the Makefile
17DEPENDS = "i2c-tools coreutils-native" 16DEPENDS = "i2c-tools coreutils-native"
diff --git a/meta-oe/recipes-devtools/suitesparse/suitesparse/makefile-quoting.patch b/meta-oe/recipes-devtools/suitesparse/suitesparse/makefile-quoting.patch
new file mode 100644
index 0000000000..6bd2ffbb55
--- /dev/null
+++ b/meta-oe/recipes-devtools/suitesparse/suitesparse/makefile-quoting.patch
@@ -0,0 +1,32 @@
1OE's CC and CXX contain spaces and extra options which is incompatible with
2cmake way of handling them. Remove passing the compiler options this way in
3favour of our normal cmake toolchain files added elsewhere.
4
5Upstream-Status: Pending
6
7Index: git/Makefile
8===================================================================
9--- git.orig/Makefile
10+++ git/Makefile
11@@ -282,7 +282,7 @@ metis: include/metis.h
12 # hardcoded below.
13 include/metis.h:
14 ifeq (,$(MY_METIS_LIB))
15- - ( cd metis-5.1.0 && $(MAKE) config shared=1 prefix=$(SUITESPARSE) cc=$(CC) )
16+ - ( cd metis-5.1.0 && $(MAKE) config shared=1 prefix=$(SUITESPARSE) )
17 - ( cd metis-5.1.0 && $(MAKE) )
18 - ( cd metis-5.1.0 && $(MAKE) install )
19 - $(SO_INSTALL_NAME) $(SUITESPARSE)/lib/libmetis.dylib \
20Index: git/SuiteSparse_config/SuiteSparse_config.mk
21===================================================================
22--- git.orig/SuiteSparse_config/SuiteSparse_config.mk
23+++ git/SuiteSparse_config/SuiteSparse_config.mk
24@@ -146,7 +146,7 @@ SUITESPARSE_VERSION = 5.10.1
25 endif
26 endif
27
28- CMAKE_OPTIONS += -DCMAKE_CXX_COMPILER=$(CXX) -DCMAKE_C_COMPILER=$(CC)
29+ #CMAKE_OPTIONS += -DCMAKE_CXX_COMPILER=$(CXX) -DCMAKE_C_COMPILER=$(CC)
30
31 #---------------------------------------------------------------------------
32 # CFLAGS for the C/C++ compiler
diff --git a/meta-oe/recipes-devtools/suitesparse/suitesparse_5.10.1.bb b/meta-oe/recipes-devtools/suitesparse/suitesparse_5.10.1.bb
index 13e6fd066c..8effd042fb 100644
--- a/meta-oe/recipes-devtools/suitesparse/suitesparse_5.10.1.bb
+++ b/meta-oe/recipes-devtools/suitesparse/suitesparse_5.10.1.bb
@@ -4,35 +4,27 @@ SRC_URI = "git://github.com/DrTimothyAldenDavis/SuiteSparse;protocol=https;branc
4 file://0001-Preserve-CXXFLAGS-from-environment-in-Mongoose.patch \ 4 file://0001-Preserve-CXXFLAGS-from-environment-in-Mongoose.patch \
5 file://0002-Preserve-links-when-installing-libmetis.patch \ 5 file://0002-Preserve-links-when-installing-libmetis.patch \
6 file://0003-Add-version-information-to-libmetis.patch \ 6 file://0003-Add-version-information-to-libmetis.patch \
7 file://makefile-quoting.patch \
7 " 8 "
8SRCREV = "538273cfd53720a10e34a3d80d3779b607e1ac26" 9SRCREV = "538273cfd53720a10e34a3d80d3779b607e1ac26"
9 10
10S = "${WORKDIR}/git"
11 11
12DEPENDS = "cmake-native lapack gmp mpfr chrpath-native" 12DEPENDS = "cmake-native lapack gmp mpfr chrpath-native"
13 13
14PROVIDES = "mongoose graphblas" 14PROVIDES = "mongoose graphblas"
15RPROVIDES:${PN} = "mongoose graphblas" 15RPROVIDES:${PN} = "mongoose graphblas"
16 16
17# The values of $CC, $CXX, and $LD that Bitbake uses have spaces in them which 17inherit cmake
18# causes problems when the SuiteSparse Makefiles try to pass these values on
19# the command line. To get around this problem, set these variables to only the
20# program name and prepend the rest of the value onto the corresponding FLAGS
21# variable.
22CFLAGS:prepend := "${@" ".join(d.getVar('CC').split()[1:])} "
23export CC := "${@d.getVar('CC').split()[0]}"
24 18
25CXXFLAGS:prepend := "${@" ".join(d.getVar('CXX').split()[1:])} " 19B = "${S}"
26export CXX := "${@d.getVar('CXX').split()[0]}"
27
28LDFLAGS:prepend := "${@" ".join(d.getVar('LD').split()[1:])} "
29export LD := "${@d.getVar('LD').split()[0]}"
30 20
31export CMAKE_OPTIONS = " \ 21export CMAKE_OPTIONS = " \
32 -DCMAKE_INSTALL_PREFIX=${D}${prefix} \ 22 -DCMAKE_INSTALL_PREFIX=${D}${prefix} \
33 -DCMAKE_INSTALL_LIBDIR=${baselib} \ 23 -DCMAKE_INSTALL_LIBDIR=${baselib} \
34" 24"
35 25
26OECMAKE_SOURCEPATH = "${S}/Mongoose ${S}/metis-5.1.0 ${S}/GraphBLAS"
27
36do_compile () { 28do_compile () {
37 oe_runmake library 29 oe_runmake library
38} 30}
diff --git a/meta-oe/recipes-devtools/systemd/nativesdk-systemd-systemctl.bb b/meta-oe/recipes-devtools/systemd/nativesdk-systemd-systemctl.bb
index f7160f508b..6c5591b461 100644
--- a/meta-oe/recipes-devtools/systemd/nativesdk-systemd-systemctl.bb
+++ b/meta-oe/recipes-devtools/systemd/nativesdk-systemd-systemctl.bb
@@ -7,9 +7,9 @@ inherit nativesdk
7 7
8SRC_URI = "file://systemctl" 8SRC_URI = "file://systemctl"
9 9
10S = "${WORKDIR}" 10S = "${UNPACKDIR}"
11 11
12do_install() { 12do_install() {
13 install -d ${D}${bindir} 13 install -d ${D}${bindir}
14 install -m 0755 ${WORKDIR}/systemctl ${D}${bindir} 14 install -m 0755 ${UNPACKDIR}/systemctl ${D}${bindir}
15} 15}
diff --git a/meta-oe/recipes-devtools/tclap/files/0001-tclap-add-pkg-config-file.patch b/meta-oe/recipes-devtools/tclap/files/0001-tclap-add-pkg-config-file.patch
deleted file mode 100644
index 58c9aec088..0000000000
--- a/meta-oe/recipes-devtools/tclap/files/0001-tclap-add-pkg-config-file.patch
+++ /dev/null
@@ -1,50 +0,0 @@
1From 9d47d2fd45c455339759dbfe9a0d6fd24b0a0fa1 Mon Sep 17 00:00:00 2001
2From: Yi Zhao <yi.zhao@windriver.com>
3Date: Wed, 24 Mar 2021 15:39:36 +0800
4Subject: [PATCH] tclap: add pkg-config file
5
6The tclap switched from autotools to CMake in 1.4.0 and drop the
7pkg-config file tclap.pc. Some projects (e.g. ima-inspect) still require
8it. So add it back.
9
10Upstream-Status: Pending
11
12Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
13---
14 CMakeLists.txt | 5 +++++
15 tclap.pc.in | 7 +++++++
16 2 files changed, 12 insertions(+)
17 create mode 100644 tclap.pc.in
18
19diff --git a/CMakeLists.txt b/CMakeLists.txt
20index c2c9a26..b56eac7 100644
21--- a/CMakeLists.txt
22+++ b/CMakeLists.txt
23@@ -25,6 +25,11 @@ install(FILES "${PROJECT_BINARY_DIR}/tclap/TCLAPConfig.h"
24 DESTINATION include/tclap
25 )
26
27+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/tclap.pc.in
28+ ${CMAKE_CURRENT_BINARY_DIR}/tclap.pc @ONLY)
29+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/tclap.pc
30+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
31+
32 add_subdirectory(docs)
33 add_subdirectory(examples)
34 add_subdirectory(tests)
35diff --git a/tclap.pc.in b/tclap.pc.in
36new file mode 100644
37index 0000000..ef51c94
38--- /dev/null
39+++ b/tclap.pc.in
40@@ -0,0 +1,7 @@
41+prefix=@CMAKE_INSTALL_PREFIX@
42+includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
43+
44+Name: tclap
45+Description: Templatized C++ Command Line Parser
46+Version: @PROJECT_VERSION@
47+Cflags: -I${includedir}
48--
492.17.1
50
diff --git a/meta-oe/recipes-devtools/tclap/tclap_1.4.0.bb b/meta-oe/recipes-devtools/tclap/tclap_1.4.0.bb
index 6d55c58526..6f452d3b93 100644
--- a/meta-oe/recipes-devtools/tclap/tclap_1.4.0.bb
+++ b/meta-oe/recipes-devtools/tclap/tclap_1.4.0.bb
@@ -10,12 +10,9 @@ compliant with the GNU or POSIX standards, it is close. \
10LICENSE = "MIT" 10LICENSE = "MIT"
11LIC_FILES_CHKSUM = "file://COPYING;md5=5c64b2e8cc50917b2744a90950faa7cd" 11LIC_FILES_CHKSUM = "file://COPYING;md5=5c64b2e8cc50917b2744a90950faa7cd"
12 12
13SRCREV = "799a8b1f99818e39fee19d0601030770af1221e1" 13SRCREV = "81b3d2a0c47895c22e9bb8c577f5ab521f76e5d2"
14SRC_URI = "git://git.code.sf.net/p/tclap/code;branch=1.4 \ 14SRC_URI = "git://git.code.sf.net/p/tclap/code;branch=1.4"
15 file://0001-tclap-add-pkg-config-file.patch \
16"
17 15
18S = "${WORKDIR}/git"
19inherit cmake 16inherit cmake
20 17
21ALLOW_EMPTY:${PN} = "1" 18ALLOW_EMPTY:${PN} = "1"
diff --git a/meta-oe/recipes-devtools/tcltk/tk/confsearch.diff b/meta-oe/recipes-devtools/tcltk/tk8/confsearch.diff
index e13bf69b23..81d4735752 100644
--- a/meta-oe/recipes-devtools/tcltk/tk/confsearch.diff
+++ b/meta-oe/recipes-devtools/tcltk/tk8/confsearch.diff
@@ -7,9 +7,8 @@ Patch by Sergei Golovan allows to find tclConfig.sh in /usr/share/tcltk/tcl8.5
7and tkConfig.sh in /usr/share/tcltk/tk8.5 where they are located in Debian 7and tkConfig.sh in /usr/share/tcltk/tk8.5 where they are located in Debian
8installation. 8installation.
9 9
10---
11Upstream-Status: Pending 10Upstream-Status: Pending
12 11---
13 unix/configure | 1 + 12 unix/configure | 1 +
14 unix/tcl.m4 | 2 ++ 13 unix/tcl.m4 | 2 ++
15 2 files changed, 3 insertions(+) 14 2 files changed, 3 insertions(+)
diff --git a/meta-oe/recipes-devtools/tcltk/tk/fix-xft.diff b/meta-oe/recipes-devtools/tcltk/tk8/fix-xft.diff
index fdf3c66535..c1e2f7344e 100644
--- a/meta-oe/recipes-devtools/tcltk/tk/fix-xft.diff
+++ b/meta-oe/recipes-devtools/tcltk/tk8/fix-xft.diff
@@ -1,7 +1,7 @@
1Upstream-Status: Pending 1Upstream-Status: Pending
2 2
3--- /tmp/configure.in 2010-05-19 13:29:03.000000000 +0200 3--- a/unix/configure.in 2010-05-19 13:29:03.000000000 +0200
4+++ unix/configure.in 2010-05-19 13:42:05.000000000 +0200 4+++ b/unix/configure.in 2010-05-19 13:42:05.000000000 +0200
5@@ -526,13 +526,9 @@ 5@@ -526,13 +526,9 @@
6 found_xft="yes" 6 found_xft="yes"
7 dnl make sure package configurator (xft-config or pkg-config 7 dnl make sure package configurator (xft-config or pkg-config
diff --git a/meta-oe/recipes-devtools/tcltk/tk/tkprivate.diff b/meta-oe/recipes-devtools/tcltk/tk8/tkprivate.diff
index 62467af1d5..8cdcf20207 100644
--- a/meta-oe/recipes-devtools/tcltk/tk/tkprivate.diff
+++ b/meta-oe/recipes-devtools/tcltk/tk8/tkprivate.diff
@@ -1,9 +1,9 @@
1Upstream-Status: Pending
2
3Patch by Chris Waters sets path which are normally point to a directory 1Patch by Chris Waters sets path which are normally point to a directory
4with Tk sources to a subdirectory of /usr/include/tcl8.4 (debian/rules 2with Tk sources to a subdirectory of /usr/include/tcl8.4 (debian/rules
5puts private Tk headers there). 3puts private Tk headers there).
6 4
5Upstream-Status: Pending
6
7--- tk8.5-8.5.8.orig/unix/tkConfig.sh.in 7--- tk8.5-8.5.8.orig/unix/tkConfig.sh.in
8+++ tk8.5-8.5.8/unix/tkConfig.sh.in 8+++ tk8.5-8.5.8/unix/tkConfig.sh.in
9@@ -55,7 +55,7 @@ 9@@ -55,7 +55,7 @@
diff --git a/meta-oe/recipes-devtools/tcltk/tk_8.6.10.bb b/meta-oe/recipes-devtools/tcltk/tk8_8.6.15.bb
index 237c4e7389..8cb9f6cb5e 100644
--- a/meta-oe/recipes-devtools/tcltk/tk_8.6.10.bb
+++ b/meta-oe/recipes-devtools/tcltk/tk8_8.6.15.bb
@@ -4,39 +4,43 @@ SECTION = "devel/tcltk"
4 4
5# http://www.tcl.tk/software/tcltk/license.html 5# http://www.tcl.tk/software/tcltk/license.html
6LICENSE = "TCL" 6LICENSE = "TCL"
7LIC_FILES_CHKSUM = "file://${S}/../license.terms;md5=c88f99decec11afa967ad33d314f87fe \ 7LIC_FILES_CHKSUM = "file://license.terms;md5=c88f99decec11afa967ad33d314f87fe \
8 file://${S}/../compat/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ 8 file://compat/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
9 file://${S}/../doc/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ 9 file://doc/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
10 file://${S}/../library/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ 10 file://library/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
11 file://${S}/../macosx/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ 11 file://macosx/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
12 file://${S}/../tests/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ 12 file://tests/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
13 file://${S}/../unix/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ 13 file://unix/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
14 file://${S}/../win/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ 14 file://win/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
15 file://${S}/../xlib/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ 15 file://xlib/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
16" 16"
17 17
18DEPENDS = "tcl virtual/libx11 libxt" 18DEPENDS = "tcl8 virtual/libx11 libxt"
19 19
20SRC_URI = "\ 20SRC_URI = "\
21 ${SOURCEFORGE_MIRROR}/tcl/${BPN}${PV}-src.tar.gz \ 21 ${SOURCEFORGE_MIRROR}/tcl/tk${PV}-src.tar.gz \
22 file://confsearch.diff;striplevel=2 \ 22 file://confsearch.diff \
23 file://tkprivate.diff;striplevel=2 \ 23 file://tkprivate.diff \
24 file://fix-xft.diff \ 24 file://fix-xft.diff \
25" 25"
26SRC_URI[md5sum] = "602a47ad9ecac7bf655ada729d140a94"
27SRC_URI[sha256sum] = "63df418a859d0a463347f95ded5cd88a3dd3aaa1ceecaeee362194bc30f3e386"
28 26
29S = "${WORKDIR}/${BPN}${PV}/unix" 27SRC_URI[sha256sum] = "550969f35379f952b3020f3ab7b9dd5bfd11c1ef7c9b7c6a75f5c49aca793fec"
30 28
31DEBUG_PREFIX_MAP += "-fdebug-prefix-map=${S}/../=${TARGET_DBGSRC_DIR}/.." 29UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/tcl/files/Tcl/"
30UPSTREAM_CHECK_REGEX = "Tcl/(?P<pver>\d+(\.\d+)+)/"
32 31
33PSEUDO_IGNORE_PATHS .= ",${WORKDIR}/${BPN}${PV}" 32S = "${UNPACKDIR}/tk${PV}"
34 33
35# Short version format: "8.6" 34# Short version format: "8.6"
36VER = "${@os.path.splitext(d.getVar('PV'))[0]}" 35VER = "${@os.path.splitext(d.getVar('PV'))[0]}"
37 36
38LDFLAGS += "-Wl,-rpath,${libdir}/tcltk/${PV}/lib" 37LDFLAGS += "-Wl,-rpath,${libdir}/tcltk/${PV}/lib"
38CFLAGS += "-I${STAGING_INCDIR}/tcl${VER}"
39inherit autotools features_check pkgconfig 39inherit autotools features_check pkgconfig
40
41AUTOTOOLS_SCRIPT_PATH = "${S}/unix"
42EXTRA_AUTORECONF += "--exclude=aclocal"
43
40# depends on virtual/libx11 44# depends on virtual/libx11
41REQUIRED_DISTRO_FEATURES = "x11" 45REQUIRED_DISTRO_FEATURES = "x11"
42 46
@@ -46,7 +50,9 @@ EXTRA_OECONF = "\
46 --with-tcl=${STAGING_BINDIR}/crossscripts \ 50 --with-tcl=${STAGING_BINDIR}/crossscripts \
47 --libdir=${libdir} \ 51 --libdir=${libdir} \
48" 52"
49export TK_LIBRARY='${libdir}/tk${VER}' 53
54export TK_LIBRARY = '${libdir}/tk${VER}'
55
50do_install:append() { 56do_install:append() {
51 ln -sf libtk${VER}.so ${D}${libdir}/libtk${VER}.so.0 57 ln -sf libtk${VER}.so ${D}${libdir}/libtk${VER}.so.0
52 oe_libinstall -so libtk${VER} ${D}${libdir} 58 oe_libinstall -so libtk${VER} ${D}${libdir}
@@ -68,7 +74,7 @@ FILES:${PN}-lib = "${libdir}/libtk${VER}.so*"
68FILES:${PN} += "${libdir}/tk*" 74FILES:${PN} += "${libdir}/tk*"
69 75
70# isn't getting picked up by shlibs code 76# isn't getting picked up by shlibs code
71RDEPENDS:${PN} += "tk-lib" 77RDEPENDS:${PN} += "tk8-lib"
72RDEPENDS:${PN}:class-native = "" 78RDEPENDS:${PN}:class-native = ""
73 79
74BBCLASSEXTEND = "native nativesdk" 80BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/tcltk/tk_9.0.1.bb b/meta-oe/recipes-devtools/tcltk/tk_9.0.1.bb
new file mode 100644
index 0000000000..504b40927e
--- /dev/null
+++ b/meta-oe/recipes-devtools/tcltk/tk_9.0.1.bb
@@ -0,0 +1,101 @@
1SUMMARY = "Tool Command Language ToolKit Extension"
2HOMEPAGE = "http://tcl.sourceforge.net"
3SECTION = "devel/tcltk"
4
5# http://www.tcl.tk/software/tcltk/license.html
6LICENSE = "TCL"
7LIC_FILES_CHKSUM = "file://license.terms;md5=c88f99decec11afa967ad33d314f87fe \
8 file://compat/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
9 file://doc/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
10 file://library/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
11 file://macosx/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
12 file://tests/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
13 file://unix/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
14 file://win/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
15 file://xlib/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
16"
17
18DEPENDS = "tcl virtual/libx11 libxt zip-native"
19
20SRC_URI = "\
21 ${SOURCEFORGE_MIRROR}/tcl/${BPN}${PV}-src.tar.gz \
22"
23SRC_URI[sha256sum] = "d6f01a4d598bfc6398be9584e1bab828c907b0758db4bbb351a1429106aec527"
24
25UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/tcl/files/Tcl/"
26UPSTREAM_CHECK_REGEX = "Tcl/(?P<pver>\d+(\.\d+)+)/"
27
28S = "${UNPACKDIR}/${BPN}${PV}"
29
30# Short version format: "8.6"
31VER = "${@os.path.splitext(d.getVar('PV'))[0]}"
32
33LDFLAGS += "-Wl,-rpath,${libdir}/tcltk/${PV}/lib"
34
35inherit autotools features_check pkgconfig
36
37AUTOTOOLS_SCRIPT_PATH = "${S}/unix"
38EXTRA_AUTORECONF += "--exclude=aclocal"
39
40# depends on virtual/libx11
41REQUIRED_DISTRO_FEATURES = "x11"
42
43EXTRA_OECONF = "\
44 --with-x \
45 --with-tcl=${STAGING_BINDIR}/crossscripts \
46 --libdir=${libdir} \
47"
48
49export TK_LIBRARY = '${libdir}/tk${VER}'
50
51do_install:append() {
52 ln -sf wish${VER} ${D}${bindir}/wish
53
54 sed -i "s;-L${B};-L${STAGING_LIBDIR};g" tkConfig.sh
55 sed -i "s;'${WORKDIR};'${STAGING_INCDIR};g" tkConfig.sh
56 install -d ${D}${bindir_crossscripts}
57 install -m 0755 tkConfig.sh ${D}${bindir_crossscripts}
58}
59
60PACKAGECONFIG ??= "xft"
61PACKAGECONFIG[xft] = "--enable-xft,--disable-xft,xft"
62PACKAGECONFIG[xss] = "--enable-xss,--disable-xss,libxscrnsaver libxext"
63
64PACKAGES =+ "${PN}-lib"
65
66SOLIBS = ".so"
67FILES_SOLIBSDEV = ""
68
69FILES:${PN}-lib = "${libdir}/libtcl9tk${VER}.so*"
70FILES:${PN} += "${libdir}/tk*"
71
72# isn't getting picked up by shlibs code
73RDEPENDS:${PN} += "tk-lib"
74RDEPENDS:${PN}:class-native = ""
75
76BBCLASSEXTEND = "native nativesdk"
77
78# Fix the path in sstate
79SSTATE_SCAN_FILES += "*Config.sh"
80
81inherit binconfig
82
83SYSROOT_DIRS += "${bindir_crossscripts}"
84
85# Fix some paths that might be used by Tcl extensions
86BINCONFIG_GLOB = "*Config.sh"
87
88# Cleanup host path from ${libdir}/tclConfig.sh and remove the
89# ${bindir_crossscripts}/tclConfig.sh from target
90PACKAGE_PREPROCESS_FUNCS += "tcl_package_preprocess"
91tcl_package_preprocess() {
92 sed -i -e "s;${DEBUG_PREFIX_MAP};;g" \
93 -e "s;-L${STAGING_LIBDIR};-L${libdir};g" \
94 -e "s;${STAGING_INCDIR};${includedir};g" \
95 -e "s;--sysroot=${RECIPE_SYSROOT};;g" \
96 -e "s;${B};${libdir};g" \
97 -e "s;${WORKDIR};${TARGET_DBGSRC_DIR};g" \
98 ${PKGD}${libdir}/tkConfig.sh
99
100 rm -f ${PKGD}${bindir_crossscripts}/tkConfig.sh
101}
diff --git a/meta-oe/recipes-devtools/tomlplusplus/files/run-ptest b/meta-oe/recipes-devtools/tomlplusplus/files/run-ptest
new file mode 100755
index 0000000000..4f682c5eb2
--- /dev/null
+++ b/meta-oe/recipes-devtools/tomlplusplus/files/run-ptest
@@ -0,0 +1,12 @@
1#!/bin/sh
2
3cd tests
4for atest in tomlplusplus_* ; do
5 rm -rf tests.log
6 ./${atest} > tests.log 2>&1
7 if [ $? = 0 ] ; then
8 echo "PASS: ${atest}"
9 else
10 echo "FAIL: ${atest}"
11 fi
12done
diff --git a/meta-oe/recipes-devtools/tomlplusplus/tomlplusplus_git.bb b/meta-oe/recipes-devtools/tomlplusplus/tomlplusplus_git.bb
new file mode 100644
index 0000000000..da8b1602be
--- /dev/null
+++ b/meta-oe/recipes-devtools/tomlplusplus/tomlplusplus_git.bb
@@ -0,0 +1,24 @@
1SUMMARY = "toml config parser and serializer for c++."
2HOMEPAGE = "https://github.com/marzer/tomlplusplus"
3LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=90960f22c10049c117d56ed2ee5ee167"
5
6SRC_URI = "git://github.com/marzer/tomlplusplus.git;protocol=https;branch=master \
7 file://run-ptest \
8"
9
10PV = "3.4.0"
11SRCREV = "30172438cee64926dc41fdd9c11fb3ba5b2ba9de"
12
13DEPENDS = "cmake-native"
14
15inherit meson ptest pkgconfig
16
17EXTRA_OEMESON += "-Dbuild_tests=${@bb.utils.contains("DISTRO_FEATURES", "ptest", "true", "false", d)} \
18"
19
20do_install_ptest () {
21 install -d ${D}${PTEST_PATH}/tests
22 cp ${B}/tests/tomlplusplus_odr_test ${D}${PTEST_PATH}/tests
23 cp ${B}/tests/tomlplusplus_tests ${D}${PTEST_PATH}/tests
24}
diff --git a/meta-oe/recipes-devtools/uftrace/uftrace_0.16.bb b/meta-oe/recipes-devtools/uftrace/uftrace_0.17.bb
index 320b5a88a6..776bb014f4 100644
--- a/meta-oe/recipes-devtools/uftrace/uftrace_0.16.bb
+++ b/meta-oe/recipes-devtools/uftrace/uftrace_0.17.bb
@@ -10,10 +10,9 @@ DEPENDS:append:libc-musl = " argp-standalone"
10 10
11inherit autotools 11inherit autotools
12 12
13SRCREV = "68aed9b0a20d3d1b5e1dc15e0f8aabba7e34735b" 13SRCREV = "b0d936107edcefb519abbc9c363ca40daaac23b3"
14SRC_URI = "git://github.com/namhyung/${BPN};branch=master;protocol=https \ 14SRC_URI = "git://github.com/namhyung/${BPN};branch=master;protocol=https \
15 file://0001-include-libgen.h-for-basename.patch" 15 file://0001-include-libgen.h-for-basename.patch"
16S = "${WORKDIR}/git"
17 16
18LDFLAGS:append:libc-musl = " -largp" 17LDFLAGS:append:libc-musl = " -largp"
19 18
diff --git a/meta-oe/recipes-devtools/unattended-upgrades/unattended-upgrades_2.9.1.bb b/meta-oe/recipes-devtools/unattended-upgrades/unattended-upgrades_2.9.1.bb
index e37dbcd02f..3d92f59ff2 100644
--- a/meta-oe/recipes-devtools/unattended-upgrades/unattended-upgrades_2.9.1.bb
+++ b/meta-oe/recipes-devtools/unattended-upgrades/unattended-upgrades_2.9.1.bb
@@ -12,7 +12,6 @@ SRC_URI = "git://github.com/mvo5/unattended-upgrades.git;protocol=https;branch=m
12 12
13SRCREV = "5aff8fa2b5b60b7c11bbfb39c884477e72d11d02" 13SRCREV = "5aff8fa2b5b60b7c11bbfb39c884477e72d11d02"
14 14
15S = "${WORKDIR}/git"
16 15
17inherit setuptools3_legacy 16inherit setuptools3_legacy
18 17
diff --git a/meta-oe/recipes-devtools/uw-imap/uw-imap/CVE-2018-19518.patch b/meta-oe/recipes-devtools/uw-imap/uw-imap/CVE-2018-19518.patch
new file mode 100644
index 0000000000..d942a752b3
--- /dev/null
+++ b/meta-oe/recipes-devtools/uw-imap/uw-imap/CVE-2018-19518.patch
@@ -0,0 +1,24 @@
1uw-imap (8:2007f~dfsg-6) unstable; urgency=medium
2
3 * [CVE-2018-19518] 2013_disable_rsh.patch (new): Disable access to IMAP
4 mailboxes through running imapd over rsh, and therefore ssh (Closes:
5 #914632). Code using the library can enable it with tcp_parameters()
6 after making sure that the IMAP server name is sanitized.
7
8 -- Magnus Holmgren <holmgren@debian.org> Tue, 26 Feb 2019 23:35:43 +0100
9
10CVE: CVE-2018-19518
11Upstream-Status: Inactive-Upstream [lastrelease: 2007]
12Signed-off-by: Peter Marko <peter.marko@siemens.com>
13
14--- a/src/osdep/unix/Makefile
15+++ b/src/osdep/unix/Makefile
16@@ -988,7 +988,7 @@ onceenv:
17 -DMD5ENABLE=\"$(MD5PWD)\" -DMAILSPOOL=\"$(MAILSPOOL)\" \
18 -DANONYMOUSHOME=\"$(MAILSPOOL)/anonymous\" \
19 -DACTIVEFILE=\"$(ACTIVEFILE)\" -DNEWSSPOOL=\"$(NEWSSPOOL)\" \
20- -DRSHPATH=\"$(RSHPATH)\" -DLOCKPGM=\"$(LOCKPGM)\" \
21+ -DLOCKPGM=\"$(LOCKPGM)\" \
22 -DLOCKPGM1=\"$(LOCKPGM1)\" -DLOCKPGM2=\"$(LOCKPGM2)\" \
23 -DLOCKPGM3=\"$(LOCKPGM3)\" > OSCFLAGS
24 echo $(BASELDFLAGS) $(EXTRALDFLAGS) > LDFLAGS
diff --git a/meta-oe/recipes-devtools/uw-imap/uw-imap/uw-imap-fix-incompatible-pointer-types.patch b/meta-oe/recipes-devtools/uw-imap/uw-imap/uw-imap-fix-incompatible-pointer-types.patch
new file mode 100644
index 0000000000..8744cdd103
--- /dev/null
+++ b/meta-oe/recipes-devtools/uw-imap/uw-imap/uw-imap-fix-incompatible-pointer-types.patch
@@ -0,0 +1,355 @@
1Fix compile errors when gcc option '-Wincompatible-pointer-types' set:
2
3mx.c: In function 'mx_setdate':
4mx.c:1286:15: error: passing argument 2 of 'utime' from incompatible pointer type [-Wincompatible-pointer-types]
5 1286 | utime (file,tp); /* set the times */
6 | ^~
7 | |
8 | time_t * {aka long int *}
9
10Upstream-Status: Inactive-Upstream [lastrelease: 2011]
11
12[1]: https://en.wikipedia.org/wiki/UW_IMAP
13
14Signed-off-by: Kai Kang <kai.kang@windriver.com>
15
16---
17 src/osdep/unix/mbx.c | 12 ++++++------
18 src/osdep/unix/mh.c | 2 +-
19 src/osdep/unix/mmdf.c | 10 +++++-----
20 src/osdep/unix/mtx.c | 16 ++++++++--------
21 src/osdep/unix/mx.c | 2 +-
22 src/osdep/unix/tenex.c | 16 ++++++++--------
23 src/osdep/unix/unix.c | 10 +++++-----
24 7 files changed, 34 insertions(+), 34 deletions(-)
25
26diff --git a/src/osdep/unix/mbx.c b/src/osdep/unix/mbx.c
27index c8a45a5..0a587fe 100644
28--- a/src/osdep/unix/mbx.c
29+++ b/src/osdep/unix/mbx.c
30@@ -302,7 +302,7 @@ int mbx_isvalid (MAILSTREAM **stream,char *name,char *tmp,int *ld,char *lock,
31 if (sbuf.st_ctime > sbuf.st_atime) {
32 tp[0] = sbuf.st_atime; /* preserve atime and mtime */
33 tp[1] = sbuf.st_mtime;
34- utime (tmp,tp); /* set the times */
35+ utime (tmp, (const struct utimbuf *)tp); /* set the times */
36 }
37 }
38 /* in case INBOX but not mbx format */
39@@ -776,7 +776,7 @@ void mbx_flag (MAILSTREAM *stream,char *sequence,char *flag,long flags)
40 stream->user_flags[LOCAL->ffuserflag]) || (oldpid != LOCAL->lastpid))
41 mbx_update_header (stream);
42 tp[0] = time (0); /* make sure read comes after all that */
43- utime (stream->mailbox,tp);
44+ utime (stream->mailbox, (const struct utimbuf *)tp);
45 }
46 if (LOCAL->ld >= 0) { /* unlock now */
47 unlockfd (LOCAL->ld,LOCAL->lock);
48@@ -1075,7 +1075,7 @@ long mbx_copy (MAILSTREAM *stream,char *sequence,char *mailbox,long options)
49 /* else preserve \Marked status */
50 else tp[0] = (sbuf.st_ctime > sbuf.st_atime) ? sbuf.st_atime : time(0);
51 tp[1] = sbuf.st_mtime; /* preserve mtime */
52- utime (file,tp); /* set the times */
53+ utime (file, (const struct utimbuf *)tp); /* set the times */
54 close (fd); /* close the file */
55 MM_NOCRITICAL (stream); /* release critical */
56 unlockfd (ld,lock); /* release exclusive parse/append permission */
57@@ -1213,7 +1213,7 @@ long mbx_append (MAILSTREAM *stream,char *mailbox,append_t af,void *data)
58 /* else preserve \Marked status */
59 else tp[0] = (sbuf.st_ctime > sbuf.st_atime) ? sbuf.st_atime : time(0);
60 tp[1] = sbuf.st_mtime; /* preserve mtime */
61- utime (file,tp); /* set the times */
62+ utime (file, (const struct utimbuf *)tp); /* set the times */
63 fclose (df); /* close the file */
64 MM_NOCRITICAL (dstream); /* release critical */
65 }
66@@ -1446,7 +1446,7 @@ long mbx_parse (MAILSTREAM *stream)
67 time_t tp[2];
68 tp[0] = time (0);
69 tp[1] = LOCAL->filetime;
70- utime (stream->mailbox,tp);
71+ utime (stream->mailbox, (const struct utimbuf *)tp);
72 }
73 stream->silent = silent; /* can pass up events now */
74 mail_exists (stream,nmsgs); /* notify upper level of new mailbox size */
75@@ -1814,7 +1814,7 @@ unsigned long mbx_rewrite (MAILSTREAM *stream,unsigned long *reclaimed,
76 fstat (LOCAL->fd,&sbuf); /* get new write time */
77 tp[1] = LOCAL->filetime = sbuf.st_mtime;
78 tp[0] = time (0); /* reset atime to now */
79- utime (stream->mailbox,tp);
80+ utime (stream->mailbox, (const struct utimbuf *)tp);
81 unlockfd (ld,lock); /* release exclusive parse/append permission */
82 /* notify upper level of new mailbox size */
83 mail_exists (stream,stream->nmsgs);
84diff --git a/src/osdep/unix/mh.c b/src/osdep/unix/mh.c
85index 9264624..26f3539 100644
86--- a/src/osdep/unix/mh.c
87+++ b/src/osdep/unix/mh.c
88@@ -1279,5 +1279,5 @@ void mh_setdate (char *file,MESSAGECACHE *elt)
89 time_t tp[2];
90 tp[0] = time (0); /* atime is now */
91 tp[1] = mail_longdate (elt); /* modification time */
92- utime (file,tp); /* set the times */
93+ utime (file, (const struct utimbuf *)tp); /* set the times */
94 }
95diff --git a/src/osdep/unix/mmdf.c b/src/osdep/unix/mmdf.c
96index e962434..c0adbee 100644
97--- a/src/osdep/unix/mmdf.c
98+++ b/src/osdep/unix/mmdf.c
99@@ -379,7 +379,7 @@ long mmdf_isvalid (char *name,char *tmp)
100 if ((sbuf.st_ctime > sbuf.st_atime) || (sbuf.st_mtime > sbuf.st_atime)) {
101 tp[0] = sbuf.st_atime; /* preserve atime and mtime */
102 tp[1] = sbuf.st_mtime;
103- utime (file,tp); /* set the times */
104+ utime (file, (const struct utimbuf *)tp); /* set the times */
105 }
106 }
107 }
108@@ -1131,7 +1131,7 @@ long mmdf_copy (MAILSTREAM *stream,char *sequence,char *mailbox,long options)
109 else tp[0] = /* else preserve \Marked status */
110 ((sbuf.st_ctime > sbuf.st_atime) || (sbuf.st_mtime > sbuf.st_atime)) ?
111 sbuf.st_atime : tp[1];
112- utime (file,tp); /* set the times */
113+ utime (file, (const struct utimbuf *)tp); /* set the times */
114 mmdf_unlock (fd,NIL,&lock); /* unlock and close mailbox */
115 if (tstream) { /* update last UID if we can */
116 MMDFLOCAL *local = (MMDFLOCAL *) tstream->local;
117@@ -1292,7 +1292,7 @@ long mmdf_append (MAILSTREAM *stream,char *mailbox,append_t af,void *data)
118 ret = NIL; /* return error */
119 }
120 else tp[0] = tp[1] - 1; /* set atime to now-1 if successful copy */
121- utime (file,tp); /* set the times */
122+ utime (file, (const struct utimbuf *)tp); /* set the times */
123 fclose (sf); /* done with scratch file */
124 /* force UIDVALIDITY assignment now */
125 if (tstream && !tstream->uid_validity) tstream->uid_validity = time (0);
126@@ -1550,7 +1550,7 @@ void mmdf_unlock (int fd,MAILSTREAM *stream,DOTLOCK *lock)
127 }
128 else now = 0; /* no time change needed */
129 /* set the times, note change */
130- if (now && !utime (stream->mailbox,tp)) LOCAL->filetime = tp[1];
131+ if (now && !utime (stream->mailbox, (const struct utimbuf *)tp)) LOCAL->filetime = tp[1];
132 }
133 flock (fd,LOCK_UN); /* release flock'ers */
134 if (!stream) close (fd); /* close the file if no stream */
135@@ -2393,7 +2393,7 @@ long mmdf_rewrite (MAILSTREAM *stream,unsigned long *nexp,DOTLOCK *lock,
136 /* set atime to now, mtime a second earlier */
137 tp[1] = (tp[0] = time (0)) - 1;
138 /* set the times, note change */
139- if (!utime (stream->mailbox,tp)) LOCAL->filetime = tp[1];
140+ if (!utime (stream->mailbox, (const struct utimbuf *)tp)) LOCAL->filetime = tp[1];
141 close (LOCAL->fd); /* close and reopen file */
142 if ((LOCAL->fd = open (stream->mailbox,O_RDWR,
143 (long) mail_parameters (NIL,GET_MBXPROTECTION,NIL)))
144diff --git a/src/osdep/unix/mtx.c b/src/osdep/unix/mtx.c
145index 8e6f76e..f64142b 100644
146--- a/src/osdep/unix/mtx.c
147+++ b/src/osdep/unix/mtx.c
148@@ -196,7 +196,7 @@ int mtx_isvalid (char *name,char *tmp)
149 if (sbuf.st_ctime > sbuf.st_atime) {
150 tp[0] = sbuf.st_atime; /* preserve atime and mtime */
151 tp[1] = sbuf.st_mtime;
152- utime (file,tp); /* set the times */
153+ utime (file, (const struct utimbuf *)tp); /* set the times */
154 }
155 }
156 }
157@@ -565,7 +565,7 @@ void mtx_flag (MAILSTREAM *stream,char *sequence,char *flag,long flags)
158 fstat (LOCAL->fd,&sbuf); /* get current write time */
159 tp[1] = LOCAL->filetime = sbuf.st_mtime;
160 tp[0] = time (0); /* make sure read comes after all that */
161- utime (stream->mailbox,tp);
162+ utime (stream->mailbox, (const struct utimbuf *)tp);
163 }
164 }
165
166@@ -834,7 +834,7 @@ long mtx_expunge (MAILSTREAM *stream,char *sequence,long options)
167 fstat (LOCAL->fd,&sbuf); /* get new write time */
168 tp[1] = LOCAL->filetime = sbuf.st_mtime;
169 tp[0] = time (0); /* reset atime to now */
170- utime (stream->mailbox,tp);
171+ utime (stream->mailbox, (const struct utimbuf *)tp);
172 MM_NOCRITICAL (stream); /* release critical */
173 /* notify upper level of new mailbox size */
174 mail_exists (stream,stream->nmsgs);
175@@ -929,7 +929,7 @@ long mtx_copy (MAILSTREAM *stream,char *sequence,char *mailbox,long options)
176 /* else preserve \Marked status */
177 else tp[0] = (sbuf.st_ctime > sbuf.st_atime) ? sbuf.st_atime : time(0);
178 tp[1] = sbuf.st_mtime; /* preserve mtime */
179- utime (file,tp); /* set the times */
180+ utime (file, (const struct utimbuf *)tp); /* set the times */
181 close (fd); /* close the file */
182 unlockfd (ld,lock); /* release exclusive parse/append permission */
183 MM_NOCRITICAL (stream); /* release critical */
184@@ -946,7 +946,7 @@ long mtx_copy (MAILSTREAM *stream,char *sequence,char *mailbox,long options)
185 fstat (LOCAL->fd,&sbuf); /* get current write time */
186 tp[1] = LOCAL->filetime = sbuf.st_mtime;
187 tp[0] = time (0); /* make sure atime remains greater */
188- utime (stream->mailbox,tp);
189+ utime (stream->mailbox, (const struct utimbuf *)tp);
190 }
191 }
192 if (ret && mail_parameters (NIL,GET_COPYUID,NIL))
193@@ -1062,7 +1062,7 @@ long mtx_append (MAILSTREAM *stream,char *mailbox,append_t af,void *data)
194 /* else preserve \Marked status */
195 else tp[0] = (sbuf.st_ctime > sbuf.st_atime) ? sbuf.st_atime : time(0);
196 tp[1] = sbuf.st_mtime; /* preserve mtime */
197- utime (file,tp); /* set the times */
198+ utime (file, (const struct utimbuf *)tp); /* set the times */
199 fclose (df); /* close the file */
200 unlockfd (ld,lock); /* release exclusive parse/append permission */
201 MM_NOCRITICAL (stream); /* release critical */
202@@ -1212,7 +1212,7 @@ long mtx_parse (MAILSTREAM *stream)
203 time_t tp[2];
204 tp[0] = time (0);
205 tp[1] = LOCAL->filetime;
206- utime (stream->mailbox,tp);
207+ utime (stream->mailbox, (const struct utimbuf *)tp);
208 }
209 stream->silent = silent; /* can pass up events now */
210 mail_exists (stream,nmsgs); /* notify upper level of new mailbox size */
211@@ -1312,7 +1312,7 @@ void mtx_update_status (MAILSTREAM *stream,unsigned long msgno,long syncflag)
212 fstat (LOCAL->fd,&sbuf); /* get new write time */
213 tp[1] = LOCAL->filetime = sbuf.st_mtime;
214 tp[0] = time (0); /* make sure read is later */
215- utime (stream->mailbox,tp);
216+ utime (stream->mailbox, (const struct utimbuf *)tp);
217 }
218 }
219 }
220diff --git a/src/osdep/unix/mx.c b/src/osdep/unix/mx.c
221index b5c5adf..4146409 100644
222--- a/src/osdep/unix/mx.c
223+++ b/src/osdep/unix/mx.c
224@@ -1283,5 +1283,5 @@ void mx_setdate (char *file,MESSAGECACHE *elt)
225 time_t tp[2];
226 tp[0] = time (0); /* atime is now */
227 tp[1] = mail_longdate (elt); /* modification time */
228- utime (file,tp); /* set the times */
229+ utime (file, (const struct utimbuf *)tp); /* set the times */
230 }
231diff --git a/src/osdep/unix/tenex.c b/src/osdep/unix/tenex.c
232index eee61fb..622da61 100644
233--- a/src/osdep/unix/tenex.c
234+++ b/src/osdep/unix/tenex.c
235@@ -203,7 +203,7 @@ int tenex_isvalid (char *name,char *tmp)
236 if (sbuf.st_ctime > sbuf.st_atime) {
237 tp[0] = sbuf.st_atime; /* preserve atime and mtime */
238 tp[1] = sbuf.st_mtime;
239- utime (file,tp); /* set the times */
240+ utime (file, (const struct utimbuf *)tp); /* set the times */
241 }
242 }
243 }
244@@ -654,7 +654,7 @@ void tenex_flag (MAILSTREAM *stream,char *sequence,char *flag,long flags)
245 fstat (LOCAL->fd,&sbuf); /* get current write time */
246 tp[1] = LOCAL->filetime = sbuf.st_mtime;
247 tp[0] = time (0); /* make sure read comes after all that */
248- utime (stream->mailbox,tp);
249+ utime (stream->mailbox, (const struct utimbuf *)tp);
250 }
251 }
252
253@@ -924,7 +924,7 @@ long tenex_expunge (MAILSTREAM *stream,char *sequence,long options)
254 fstat (LOCAL->fd,&sbuf); /* get new write time */
255 tp[1] = LOCAL->filetime = sbuf.st_mtime;
256 tp[0] = time (0); /* reset atime to now */
257- utime (stream->mailbox,tp);
258+ utime (stream->mailbox, (const struct utimbuf *)tp);
259 MM_NOCRITICAL (stream); /* release critical */
260 /* notify upper level of new mailbox size */
261 mail_exists (stream,stream->nmsgs);
262@@ -1019,7 +1019,7 @@ long tenex_copy (MAILSTREAM *stream,char *sequence,char *mailbox,long options)
263 /* else preserve \Marked status */
264 else tp[0] = (sbuf.st_ctime > sbuf.st_atime) ? sbuf.st_atime : time(0);
265 tp[1] = sbuf.st_mtime; /* preserve mtime */
266- utime (file,tp); /* set the times */
267+ utime (file, (const struct utimbuf *)tp); /* set the times */
268 close (fd); /* close the file */
269 unlockfd (ld,lock); /* release exclusive parse/append permission */
270 MM_NOCRITICAL (stream); /* release critical */
271@@ -1036,7 +1036,7 @@ long tenex_copy (MAILSTREAM *stream,char *sequence,char *mailbox,long options)
272 fstat (LOCAL->fd,&sbuf); /* get current write time */
273 tp[1] = LOCAL->filetime = sbuf.st_mtime;
274 tp[0] = time (0); /* make sure atime remains greater */
275- utime (stream->mailbox,tp);
276+ utime (stream->mailbox, (const struct utimbuf *)tp);
277 }
278 }
279 if (ret && mail_parameters (NIL,GET_COPYUID,NIL))
280@@ -1159,7 +1159,7 @@ long tenex_append (MAILSTREAM *stream,char *mailbox,append_t af,void *data)
281 /* else preserve \Marked status */
282 else tp[0] = (sbuf.st_ctime > sbuf.st_atime) ? sbuf.st_atime : time(0);
283 tp[1] = sbuf.st_mtime; /* preserve mtime */
284- utime (file,tp); /* set the times */
285+ utime (file, (const struct utimbuf *)tp); /* set the times */
286 fclose (df); /* close the file */
287 unlockfd (ld,lock); /* release exclusive parse/append permission */
288 MM_NOCRITICAL (stream); /* release critical */
289@@ -1324,7 +1324,7 @@ long tenex_parse (MAILSTREAM *stream)
290 time_t tp[2];
291 tp[0] = time (0);
292 tp[1] = LOCAL->filetime;
293- utime (stream->mailbox,tp);
294+ utime (stream->mailbox, (const struct utimbuf *)tp);
295 }
296 stream->silent = silent; /* can pass up events now */
297 mail_exists (stream,nmsgs); /* notify upper level of new mailbox size */
298@@ -1424,7 +1424,7 @@ void tenex_update_status (MAILSTREAM *stream,unsigned long msgno,long syncflag)
299 fstat (LOCAL->fd,&sbuf); /* get new write time */
300 tp[1] = LOCAL->filetime = sbuf.st_mtime;
301 tp[0] = time (0); /* make sure read is later */
302- utime (stream->mailbox,tp);
303+ utime (stream->mailbox, (const struct utimbuf *)tp);
304 }
305 }
306 }
307diff --git a/src/osdep/unix/unix.c b/src/osdep/unix/unix.c
308index 86be3f9..012dc83 100644
309--- a/src/osdep/unix/unix.c
310+++ b/src/osdep/unix/unix.c
311@@ -232,7 +232,7 @@ DRIVER *unix_valid (char *name)
312 if ((sbuf.st_ctime > sbuf.st_atime) || (sbuf.st_mtime > sbuf.st_atime)) {
313 tp[0] = sbuf.st_atime; /* yes, preserve atime and mtime */
314 tp[1] = sbuf.st_mtime;
315- utime (file,tp); /* set the times */
316+ utime (file, (const struct utimbuf *)tp); /* set the times */
317 }
318 }
319 }
320@@ -999,7 +999,7 @@ long unix_copy (MAILSTREAM *stream,char *sequence,char *mailbox,long options)
321 else tp[0] = /* else preserve \Marked status */
322 ((sbuf.st_ctime > sbuf.st_atime) || (sbuf.st_mtime > sbuf.st_atime)) ?
323 sbuf.st_atime : tp[1];
324- utime (file,tp); /* set the times */
325+ utime (file, (const struct utimbuf *)tp); /* set the times */
326 unix_unlock (fd,NIL,&lock); /* unlock and close mailbox */
327 if (tstream) { /* update last UID if we can */
328 UNIXLOCAL *local = (UNIXLOCAL *) tstream->local;
329@@ -1160,7 +1160,7 @@ long unix_append (MAILSTREAM *stream,char *mailbox,append_t af,void *data)
330 ret = NIL; /* return error */
331 }
332 else tp[0] = tp[1] - 1; /* set atime to now-1 if successful copy */
333- utime (file,tp); /* set the times */
334+ utime (file, (const struct utimbuf *)tp); /* set the times */
335 fclose (sf); /* done with scratch file */
336 /* force UIDVALIDITY assignment now */
337 if (tstream && !tstream->uid_validity) tstream->uid_validity = time (0);
338@@ -1425,7 +1425,7 @@ void unix_unlock (int fd,MAILSTREAM *stream,DOTLOCK *lock)
339 }
340 else now = 0; /* no time change needed */
341 /* set the times, note change */
342- if (now && !utime (stream->mailbox,tp)) LOCAL->filetime = tp[1];
343+ if (now && !utime (stream->mailbox, (const struct utimbuf *)tp)) LOCAL->filetime = tp[1];
344 }
345 flock (fd,LOCK_UN); /* release flock'ers */
346 if (!stream) close (fd); /* close the file if no stream */
347@@ -2251,7 +2251,7 @@ long unix_rewrite (MAILSTREAM *stream,unsigned long *nexp,DOTLOCK *lock,
348 /* set atime to now, mtime a second earlier */
349 tp[1] = (tp[0] = time (0)) - 1;
350 /* set the times, note change */
351- if (!utime (stream->mailbox,tp)) LOCAL->filetime = tp[1];
352+ if (!utime (stream->mailbox, (const struct utimbuf *)tp)) LOCAL->filetime = tp[1];
353 close (LOCAL->fd); /* close and reopen file */
354 if ((LOCAL->fd = open (stream->mailbox,O_RDWR,
355 (long) mail_parameters (NIL,GET_MBXPROTECTION,NIL)))
diff --git a/meta-oe/recipes-devtools/uw-imap/uw-imap/uw-imap-newer-tls.patch b/meta-oe/recipes-devtools/uw-imap/uw-imap/uw-imap-newer-tls.patch
new file mode 100644
index 0000000000..958abc90f8
--- /dev/null
+++ b/meta-oe/recipes-devtools/uw-imap/uw-imap/uw-imap-newer-tls.patch
@@ -0,0 +1,29 @@
1Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
2Upstream-Status: Pending
3
4--- imap-2007f/src/osdep/unix/ssl_unix.c.old 2024-05-08 09:41:06.183450584 +0200
5+++ imap-2007f/src/osdep/unix/ssl_unix.c 2024-05-08 09:43:38.512931933 +0200
6@@ -220,7 +220,11 @@
7 if (ssl_last_error) fs_give ((void **) &ssl_last_error);
8 ssl_last_host = host;
9 if (!(stream->context = SSL_CTX_new ((flags & NET_TLSCLIENT) ?
10+#if OPENSSL_VERSION_NUMBER >= 0x10100000
11+ TLS_client_method () :
12+#else
13 TLSv1_client_method () :
14+#endif
15 SSLv23_client_method ())))
16 return "SSL context failed";
17 SSL_CTX_set_options (stream->context,0);
18@@ -703,7 +707,11 @@
19 }
20 /* create context */
21 if (!(stream->context = SSL_CTX_new (start_tls ?
22+#if OPENSSL_VERSION_NUMBER >= 0x10100000
23+ TLS_server_method () :
24+#else
25 TLSv1_server_method () :
26+#endif
27 SSLv23_server_method ())))
28 syslog (LOG_ALERT,"Unable to create SSL context, host=%.80s",
29 tcp_clienthost ());
diff --git a/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb b/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb
index dcb59f4ea0..877f1d57f6 100644
--- a/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb
+++ b/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb
@@ -15,12 +15,14 @@ SRC_URI = "https://fossies.org/linux/misc/old/imap-${PV}.tar.gz \
15 file://0001-Do-not-build-mtest.patch \ 15 file://0001-Do-not-build-mtest.patch \
16 file://0002-tmail-Include-ctype.h-for-isdigit.patch \ 16 file://0002-tmail-Include-ctype.h-for-isdigit.patch \
17 file://0001-Fix-Wincompatible-function-pointer-types.patch \ 17 file://0001-Fix-Wincompatible-function-pointer-types.patch \
18 file://uw-imap-newer-tls.patch \
19 file://uw-imap-fix-incompatible-pointer-types.patch \
20 file://CVE-2018-19518.patch \
18 " 21 "
19 22
20SRC_URI[md5sum] = "2126fd125ea26b73b20f01fcd5940369"
21SRC_URI[sha256sum] = "53e15a2b5c1bc80161d42e9f69792a3fa18332b7b771910131004eb520004a28" 23SRC_URI[sha256sum] = "53e15a2b5c1bc80161d42e9f69792a3fa18332b7b771910131004eb520004a28"
22 24
23S = "${WORKDIR}/imap-${PV}" 25S = "${UNPACKDIR}/imap-${PV}"
24 26
25CVE_STATUS[CVE-2005-0198] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions." 27CVE_STATUS[CVE-2005-0198] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions."
26 28
@@ -51,3 +53,10 @@ ALLOW_EMPTY:${PN} = "1"
51 53
52PARALLEL_MAKE = "" 54PARALLEL_MAKE = ""
53 55
56# http://errors.yoctoproject.org/Errors/Details/766915/
57# unix.c:235:21: error: passing argument 2 of 'utime' from incompatible pointer type [-Wincompatible-pointer-types]
58# unix.c:1002:15: error: passing argument 2 of 'utime' from incompatible pointer type [-Wincompatible-pointer-types]
59# unix.c:1163:15: error: passing argument 2 of 'utime' from incompatible pointer type [-Wincompatible-pointer-types]
60# unix.c:1428:40: error: passing argument 2 of 'utime' from incompatible pointer type [-Wincompatible-pointer-types]
61# unix.c:2254:33: error: passing argument 2 of 'utime' from incompatible pointer type [-Wincompatible-pointer-types]
62CFLAGS += "-Wno-error=incompatible-pointer-types"
diff --git a/meta-oe/recipes-devtools/valijson/valijson_1.0.2.bb b/meta-oe/recipes-devtools/valijson/valijson_1.0.6.bb
index f531218aeb..4e5f02746c 100644
--- a/meta-oe/recipes-devtools/valijson/valijson_1.0.2.bb
+++ b/meta-oe/recipes-devtools/valijson/valijson_1.0.6.bb
@@ -3,10 +3,9 @@ HOMEPAGE = "https://github.com/tristanpenman/valijson"
3LICENSE = "BSD-2-Clause" 3LICENSE = "BSD-2-Clause"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=5c4583a434195e4f3b418e17c8ca2daf" 4LIC_FILES_CHKSUM = "file://LICENSE;md5=5c4583a434195e4f3b418e17c8ca2daf"
5 5
6SRC_URI = "git://github.com/tristanpenman/valijson.git;branch=master;protocol=https" 6SRC_URI = "git://github.com/tristanpenman/valijson.git;branch=master;protocol=https;tag=v${PV}"
7SRCREV = "0b4771e273a065d437814baf426bcfcafec0f434" 7SRCREV = "4edda758546436462da479bb8c8514f8a95c35ad"
8 8
9S = "${WORKDIR}/git"
10 9
11inherit cmake 10inherit cmake
12 11
diff --git a/meta-oe/recipes-devtools/xerces-c/xerces-c/0001-aclocal.m4-don-t-use-full-path-of-with_curl-in-xerce.patch b/meta-oe/recipes-devtools/xerces-c/xerces-c/0001-aclocal.m4-don-t-use-full-path-of-with_curl-in-xerce.patch
new file mode 100644
index 0000000000..2ad7beb51c
--- /dev/null
+++ b/meta-oe/recipes-devtools/xerces-c/xerces-c/0001-aclocal.m4-don-t-use-full-path-of-with_curl-in-xerce.patch
@@ -0,0 +1,58 @@
1From d001f12d428f7adaeaadee5263a22c797c99d67b Mon Sep 17 00:00:00 2001
2From: Martin Jansa <martin.jansa@gmail.com>
3Date: Fri, 30 Aug 2024 11:42:27 +0200
4Subject: [PATCH] aclocal.m4: don't use full path of $with_curl in xerces-c.pc
5
6* fixes:
7 ERROR: QA Issue: File /usr/lib32/pkgconfig/xerces-c.pc in package lib32-libxerces-c-dev contains reference to TMPDIR [buildpaths]
8
9* xerces-c was blacklisted due to tmpdir since 2016:
10 https://git.openembedded.org/meta-openembedded/commit/?id=1af196e42c811947bb483df30bfce758adee83d1
11
12* then sed call:
13 sed -i -e 's:-L${STAGING_DIR}/lib:-L\$\{libdir\}:g' ${B}/xerces-c.pc
14 was added to do_install:append and blacklist dropped in:
15 https://git.openembedded.org/meta-openembedded/commit/?id=87b9efff79e62f569525e4760adc594d0d9ac476
16
17* sed call was adjusted in:
18 https://git.openembedded.org/meta-openembedded/commit/?id=87c9e9537dc43468a6aaf706853b784ce6de14e0
19 sed -i s:-L${STAGING_LIBDIR}::g ${B}/xerces-c.pc
20
21* but it was still failing in some cases, e.g. with multilib where libdir is /usr/lib64, so the sed call is:
22 sed -i s:-L{WORKDIR}/recipe-sysroot/usr/lib64::g ${WORKDIR}/build/xerces-c.pc
23 but the actual xerces-c.pc file still has:
24
25 Libs: -L${libdir} -lxerces-c
26 Libs.private: -L${WORKDIR}/recipe-sysroot/usr/lib -lcurl
27
28 because this aclocal was always hardcoding "lib" (appended to --with-curl
29 value which is passed together with ${prefix}) and not respecting the libdir value:
30 PACKAGECONFIG[curl] = "--with-curl=${STAGING_DIR_TARGET}${prefix},--with-curl=no,curl"
31 PACKAGECONFIG[icu] = "--with-icu=${STAGING_DIR_TARGET}${prefix},--with-icu=no,icu"
32
33* xerces-c supports CMake since 2017:
34 https://github.com/apache/xerces-c/commit/2606b2924c3e2bf0cf50f72b79378721b6bcf04e
35 switching from autotools to CMake would probably resolve some of this as well
36
37Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
38---
39Upstream-Status: Pending [It would be better to just switch to CMake]
40
41 m4/xerces_curl_prefix.m4 | 4 ++--
42 1 file changed, 2 insertions(+), 2 deletions(-)
43
44diff --git a/m4/xerces_curl_prefix.m4 b/m4/xerces_curl_prefix.m4
45index d1d015c..7928bdc 100644
46--- a/m4/xerces_curl_prefix.m4
47+++ b/m4/xerces_curl_prefix.m4
48@@ -39,8 +39,8 @@ AC_DEFUN([XERCES_CURL_PREFIX],
49 curl_libs=`$curl_config --libs`
50 else
51 if test -n "$with_curl"; then
52- curl_flags="-I$with_curl/include"
53- curl_libs="-L$with_curl/lib -lcurl"
54+ curl_flags=""
55+ curl_libs="-lcurl"
56 else
57 # Default compiler paths.
58 #
diff --git a/meta-oe/recipes-devtools/xerces-c/xerces-c_3.2.5.bb b/meta-oe/recipes-devtools/xerces-c/xerces-c_3.3.0.bb
index 1643af2546..2819366dc9 100644
--- a/meta-oe/recipes-devtools/xerces-c/xerces-c_3.2.5.bb
+++ b/meta-oe/recipes-devtools/xerces-c/xerces-c_3.3.0.bb
@@ -9,8 +9,10 @@ SECTION = "libs"
9LICENSE = "Apache-2.0" 9LICENSE = "Apache-2.0"
10LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" 10LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
11 11
12SRC_URI = "http://archive.apache.org/dist/xerces/c/3/sources/${BP}.tar.bz2" 12SRC_URI = "http://archive.apache.org/dist/xerces/c/3/sources/${BP}.tar.bz2 \
13SRC_URI[sha256sum] = "1db4028c9b7f1f778efbf4a9462d65e13f9938f2c22f9e9994e12c49ba97e252" 13 file://0001-aclocal.m4-don-t-use-full-path-of-with_curl-in-xerce.patch \
14"
15SRC_URI[sha256sum] = "ef752578587e26013a933f16d76305c9b43ca32f869e3d3426986e03efb01d64"
14 16
15inherit autotools 17inherit autotools
16 18
@@ -18,10 +20,6 @@ PACKAGECONFIG ??= "curl icu"
18PACKAGECONFIG[curl] = "--with-curl=${STAGING_DIR_TARGET}${prefix},--with-curl=no,curl" 20PACKAGECONFIG[curl] = "--with-curl=${STAGING_DIR_TARGET}${prefix},--with-curl=no,curl"
19PACKAGECONFIG[icu] = "--with-icu=${STAGING_DIR_TARGET}${prefix},--with-icu=no,icu" 21PACKAGECONFIG[icu] = "--with-icu=${STAGING_DIR_TARGET}${prefix},--with-icu=no,icu"
20 22
21do_install:prepend () {
22 sed -i s:-L${STAGING_LIBDIR}::g ${B}/xerces-c.pc
23}
24
25PACKAGES = "libxerces-c \ 23PACKAGES = "libxerces-c \
26 libxerces-c-dev \ 24 libxerces-c-dev \
27 xerces-c-samples \ 25 xerces-c-samples \
@@ -31,7 +29,7 @@ PACKAGES = "libxerces-c \
31 29
32RPROVIDES:${PN}-dbg += "libxerces-c-dbg xerces-c-samples-dbg" 30RPROVIDES:${PN}-dbg += "libxerces-c-dbg xerces-c-samples-dbg"
33 31
34FILES:libxerces-c = "${libdir}/libxerces-c-3.2.so" 32FILES:libxerces-c = "${libdir}/libxerces-c-3.3.so"
35FILES:libxerces-c-dev = "${libdir}/lib*.la \ 33FILES:libxerces-c-dev = "${libdir}/lib*.la \
36 ${libdir}/libxerces-c.so \ 34 ${libdir}/libxerces-c.so \
37 ${libdir}/pkgconfig/xerces-c.pc \ 35 ${libdir}/pkgconfig/xerces-c.pc \
diff --git a/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-fix-bool-reserved-word-error-in-gcc-15.patch b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-fix-bool-reserved-word-error-in-gcc-15.patch
new file mode 100644
index 0000000000..813efbc62a
--- /dev/null
+++ b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-fix-bool-reserved-word-error-in-gcc-15.patch
@@ -0,0 +1,50 @@
1From a811ea6af5296b89ee7c2a358dd4ffd2584429f4 Mon Sep 17 00:00:00 2001
2From: "mark.yang" <mark.yang@lge.com>
3Date: Wed, 2 Apr 2025 11:00:27 +0900
4Subject: [PATCH] fix bool reserved word error in gcc 15
5
6* Fix build error with gcc-15.0.1
7 http://errors.yoctoproject.org/Errors/Details/850147/
8 srcdir/lib/util/include/bool.h:13:5: error: cannot use keyword 'false' as enumeration constant
9 13 | false = 0,
10 | ^~~~~
11 srcdir/lib/util/include/bool.h:13:5: note: 'false' is a keyword with '-std=c23' onwards
12 srcdir/lib/util/include/bool.h:15:3: error: expected ';', identifier or '(' before 'bool'
13 15 | } bool;
14 | ^~~~
15 srcdir/lib/util/include/bool.h:15:3: warning: useless type name in empty declaration
16 In file included from sleep.c:2:
17 srcdir/lib/util/include/bool.h:13:5: error: cannot use keyword 'false' as enumeration constant
18 13 | false = 0,
19 | ^~~~~
20 srcdir/lib/util/include/bool.h:13:5: note: 'false' is a keyword with '-std=c23' onwards
21 srcdir/lib/util/include/bool.h:15:3: error: expected ';', identifier or '(' before 'bool'
22 15 | } bool;
23 | ^~~~
24
25 gcc-15 switched to -std=c23 by default.
26 https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=55e3bd376b2214e200fa76d12b67ff259b06c212
27
28Upstream-Status: Submitted [https://sourceforge.net/p/xmlrpc-c/discussion/131628/thread/70e626d73a]
29Signed-off-by: mark.yang <mark.yang@lge.com>
30---
31 stable/lib/util/include/bool.h | 2 ++
32 1 file changed, 2 insertions(+)
33
34diff --git a/stable/lib/util/include/bool.h b/stable/lib/util/include/bool.h
35index 312477c4..a5e81eb6 100644
36--- a/stable/lib/util/include/bool.h
37+++ b/stable/lib/util/include/bool.h
38@@ -9,10 +9,12 @@
39 /* At least the GNU compiler defines __bool_true_false_are_defined */
40 #ifndef __bool_true_false_are_defined
41 #define __bool_true_false_are_defined
42+#if defined __STDC__ && defined __STDC_VERSION__ && __STDC_VERSION__ <= 201710L
43 typedef enum {
44 false = 0,
45 true = 1
46 } bool;
47 #endif
48 #endif
49+#endif
50
diff --git a/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-test-cpp-server_abyss-Fix-build-with-clang-libc.patch b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-test-cpp-server_abyss-Fix-build-with-clang-libc.patch
index be83b0166c..531f0d45fb 100644
--- a/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-test-cpp-server_abyss-Fix-build-with-clang-libc.patch
+++ b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-test-cpp-server_abyss-Fix-build-with-clang-libc.patch
@@ -1,6 +1,6 @@
1From dba3c5bf34ed530fd41ed50968825af2158f142e Mon Sep 17 00:00:00 2001 1From 371c59c6135f53a6892c415bf9450c32e7ca3523 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 29 Jan 2019 13:31:39 -0800 3Date: Mon, 10 Mar 2025 20:25:02 -0700
4Subject: [PATCH] test/cpp/server_abyss: Fix build with clang/libc++ 4Subject: [PATCH] test/cpp/server_abyss: Fix build with clang/libc++
5 5
6/mnt/a/yoe/workspace/sources/xmlrpc-c/test/cpp/server_abyss.cpp:87:14: error: assigning to 'int' from incompatible type '__bind<int 6/mnt/a/yoe/workspace/sources/xmlrpc-c/test/cpp/server_abyss.cpp:87:14: error: assigning to 'int' from incompatible type '__bind<int
@@ -10,10 +10,15 @@ Subject: [PATCH] test/cpp/server_abyss: Fix build with clang/libc++
10 10
11Upstream-Status: Pending 11Upstream-Status: Pending
12Signed-off-by: Khem Raj <raj.khem@gmail.com> 12Signed-off-by: Khem Raj <raj.khem@gmail.com>
13
14Rebase to 1.64.0
15Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
13--- 16---
14 test/cpp/server_abyss.cpp | 56 +++++++++++++++++++-------------------- 17 test/cpp/server_abyss.cpp | 2 +-
15 1 file changed, 28 insertions(+), 28 deletions(-) 18 1 file changed, 1 insertion(+), 1 deletion(-)
16 19
20diff --git a/test/cpp/server_abyss.cpp b/test/cpp/server_abyss.cpp
21index c1b44995..14faf5a5 100644
17--- a/test/cpp/server_abyss.cpp 22--- a/test/cpp/server_abyss.cpp
18+++ b/test/cpp/server_abyss.cpp 23+++ b/test/cpp/server_abyss.cpp
19@@ -85,7 +85,7 @@ public: 24@@ -85,7 +85,7 @@ public:
@@ -25,3 +30,6 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
25 30
26 if (rc != 0) { 31 if (rc != 0) {
27 closesock(this->fd); 32 closesock(this->fd);
33--
342.25.1
35
diff --git a/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-unix-common.mk-Ensuring-Sequential-Execution-of-rm-a.patch b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-unix-common.mk-Ensuring-Sequential-Execution-of-rm-a.patch
new file mode 100644
index 0000000000..15e088965f
--- /dev/null
+++ b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-unix-common.mk-Ensuring-Sequential-Execution-of-rm-a.patch
@@ -0,0 +1,80 @@
1From e246247aceb3ac0fd7491b1ee34a049dd44f5025 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 10 Mar 2025 20:26:29 -0700
4Subject: [PATCH] unix-common.mk: Avoid race condition between mutliple make
5 calls running in parallel
6
7With high parallel execution, it results in race condition where
8its trying to create symlink while the original symlink while rm is
9not done deleting the existing file yet.
10
11The issue is that submake for libxmlrpc_util.so is called 12 times
12which can run in parallel and then some of them will try to create
13target link at the same time (after both already finished rm call).
14
15Use -f which should be supported even by relatively old ln and
16should avoid the need for rm (and hopefully will avoid this race)
17
18For libutil++ it calls "all" and "libxmlrpc_util++.so" only once,
19but for libutil it calls "all" and then 12 times libxmlrpc_util.so
20(after-clean-j1.log is the make output with -n and -j1 instead of
21-j70), still trying to figure out why, my autofoo is rusty :).
22
23Ideally we should prevent calling it 12 times, but until we figure
24out why we can at least avoid the random build failures.
25
26Another interesting fact is that I haven't seen this issue until
27the upgrade to 1.60.03 from 1.59.01 from:
28https://lists.openembedded.org/g/openembedded-devel/message/112706
29but I don't see any changes which should cause this in the git since
301.59.01, but the gentoo bug report is against 1.54.06 already.
31
32martin@jama /OE/build/oe-core/tmp/work/core2-64-oe-linux/xmlrpc-c/1.60.03/git/stable $ grep -A 1 lib/libutil++/Makefile after-clean-j1.log
33make -C libutil++/ -f /OE/build/oe-core/tmp/work/core2-64-oe-linux/xmlrpc-c/1.60.03/git/lib/libutil++/Makefile \
34 all
35--
36make -C /OE/build/oe-core/tmp/work/core2-64-oe-linux/xmlrpc-c/1.60.03/git/lib/libutil++/ -f /OE/build/oe-core/tmp/work/core2-64-oe-linux/xmlrpc-c/1.60.03/git/lib/libutil++/Makefile \
37 libxmlrpc_util++.so
38
39--
40make -C /OE/build/oe-core/tmp/work/core2-64-oe-linux/xmlrpc-c/1.60.03/git/lib/libutil/ -f /OE/build/oe-core/tmp/work/core2-64-oe-linux/xmlrpc-c/1.60.03/git/lib/libutil/Makefile \
41 libxmlrpc_util.so
42
43Similar error reported here [1]
44
45[1] https://bugs.gentoo.org/932835
46
47Upstream-Status: Pending
48Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
49Signed-off-by: Khem Raj <raj.khem@gmail.com>
50
51Rebase to 1.64.0
52Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
53---
54 unix-common.mk | 6 ++----
55 1 file changed, 2 insertions(+), 4 deletions(-)
56
57diff --git a/unix-common.mk b/unix-common.mk
58index 6954faf5..e15a4f5c 100644
59--- a/unix-common.mk
60+++ b/unix-common.mk
61@@ -62,14 +62,12 @@ SHLIB_CMD = $(CCLD) $(LADD) $(LDFLAGS_SHLIB) -o $@ $^
62 SHLIB_LE_TARGETS = $(call shliblefn, $(SHARED_LIBS_TO_BUILD))
63
64 $(SHLIB_LE_TARGETS):%:%.$(MAJ)
65- rm -f $@
66- $(LN_S) $< $@
67+ $(LN_S) -f $< $@
68
69 SONAME_TARGETS = $(SHLIB_LE_TARGETS:%=%.$(MAJ))
70
71 $(SONAME_TARGETS):%:%.$(MIN)
72- rm -f $@
73- $(LN_S) $< $@
74+ $(LN_S) -f $< $@
75
76 .PHONY: $(SHLIB_INSTALL_TARGETS)
77 .PHONY: install-shared-libraries
78--
792.25.1
80
diff --git a/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0002-fix-formatting-issues.patch b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0002-fix-formatting-issues.patch
deleted file mode 100644
index 9d92e4712b..0000000000
--- a/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0002-fix-formatting-issues.patch
+++ /dev/null
@@ -1,34 +0,0 @@
1From 14f15cb0f03defa8efb4c8e2fece58e50655be6b Mon Sep 17 00:00:00 2001
2From: Hongxu Jia <hongxu.jia@windriver.com>
3Date: Sun, 23 Jul 2017 22:20:29 -0400
4Subject: [PATCH] src/xmlrpc_server_abyss.c: fix formatting issues
5
6Fixed when compile with "-Wformat -Wformat-security -Werror=format-security":
7|src/xmlrpc_server_abyss.c:771:13: error: format not a string literal
8and no format arguments [-Werror=format-security]
9| xmlrpc_faultf(envP, error);
10| ^~~~~~~~~~~~~
11
12Upstream-Status: Pending
13
14Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
15---
16 src/xmlrpc_server_abyss.c | 2 +-
17 1 file changed, 1 insertion(+), 1 deletion(-)
18
19diff --git a/src/xmlrpc_server_abyss.c b/src/xmlrpc_server_abyss.c
20index 2388652..3843f10 100644
21--- a/src/xmlrpc_server_abyss.c
22+++ b/src/xmlrpc_server_abyss.c
23@@ -768,7 +768,7 @@ createServer(xmlrpc_env * const envP,
24 ServerInit2(abyssServerP, &error);
25
26 if (error) {
27- xmlrpc_faultf(envP, error);
28+ xmlrpc_faultf(envP, "%s", error);
29 xmlrpc_strfree(error);
30 }
31 }
32--
332.8.1
34
diff --git a/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/no-automake.patch b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/no-automake.patch
new file mode 100644
index 0000000000..f309cd4890
--- /dev/null
+++ b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/no-automake.patch
@@ -0,0 +1,18 @@
1This doesn't use automake so don't turn it on, as autoreconf will refuse to work.
2
3Upstream-Status: Submitted
4Signed-off-by: Ross Burton <ross.burton@arm.com>
5
6diff --git i/stable/configure.in w/stable/configure.in
7index 4a9ade8c..baba1edc 100644
8--- i/configure.in
9+++ w/configure.in
10@@ -8,7 +8,7 @@ dnl =======================================================================
11
12 dnl "x.xx" is supposed to be a version number, but is meaningless here.
13 dnl The real version number is in Makefile.version.
14-AM_INIT_AUTOMAKE(xmlrpc-c, x.xx)
15+dnl AM_INIT_AUTOMAKE(xmlrpc-c, x.xx)
16
17 dnl Define @build@, @build_cpu@, @build_vendor@, @build_os,
18 dnl @host, @host_cpu@, @host_vender, and @host_os@ substitutions.
diff --git a/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.59.01.bb b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.64.0.bb
index 5d5152b834..3b923fb99e 100644
--- a/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.59.01.bb
+++ b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.64.0.bb
@@ -6,18 +6,20 @@ LICENSE = "BSD-3-Clause & MIT"
6LIC_FILES_CHKSUM = "file://doc/COPYING;md5=aefbf81ba0750f02176b6f86752ea951" 6LIC_FILES_CHKSUM = "file://doc/COPYING;md5=aefbf81ba0750f02176b6f86752ea951"
7 7
8SRC_URI = "git://github.com/mirror/xmlrpc-c.git;branch=master;protocol=https \ 8SRC_URI = "git://github.com/mirror/xmlrpc-c.git;branch=master;protocol=https \
9 file://no-automake.patch \
9 file://0001-test-cpp-server_abyss-Fix-build-with-clang-libc.patch \ 10 file://0001-test-cpp-server_abyss-Fix-build-with-clang-libc.patch \
10 file://0002-fix-formatting-issues.patch \ 11 file://0001-unix-common.mk-Ensuring-Sequential-Execution-of-rm-a.patch \
12 file://0001-fix-bool-reserved-word-error-in-gcc-15.patch;striplevel=2 \
11 " 13 "
12#Release 1.59.01 14SRCREV = "8ce36bce2438df9b02fcaafd19efa90a56426601"
13SRCREV = "352aeaa9ae49e90e55187cbda839f2113df06278"
14 15
15S = "${WORKDIR}/git/stable" 16S = "${UNPACKDIR}/${BP}/advanced"
16 17
17inherit autotools-brokensep binconfig pkgconfig 18inherit autotools-brokensep binconfig pkgconfig
18 19
19TARGET_CFLAGS += "-Wno-narrowing" 20TARGET_CFLAGS += "-Wno-narrowing"
20 21
22# These are needed for the integrated expat
21EXTRA_OEMAKE += "CC_FOR_BUILD='${BUILD_CC}' \ 23EXTRA_OEMAKE += "CC_FOR_BUILD='${BUILD_CC}' \
22 LD_FOR_BUILD='${BUILD_LD}' \ 24 LD_FOR_BUILD='${BUILD_LD}' \
23 CFLAGS_FOR_BUILD='${BUILD_CFLAGS}' \ 25 CFLAGS_FOR_BUILD='${BUILD_CFLAGS}' \
@@ -32,10 +34,7 @@ PACKAGECONFIG[abyss] = "--enable-abyss-server --enable-abyss-threads --enable-ab
32PACKAGECONFIG[cplusplus] = "--enable-cplusplus,--disable-cplusplus" 34PACKAGECONFIG[cplusplus] = "--enable-cplusplus,--disable-cplusplus"
33PACKAGECONFIG[curl] = "--enable-curl-client,--disable-curl-client,curl" 35PACKAGECONFIG[curl] = "--enable-curl-client,--disable-curl-client,curl"
34 36
35do_configure() { 37do_configure:prepend() {
36 gnu-configize --verbose --force ${S}
37 autoconf
38 oe_runconf
39 # license is incompatible with lib/util/getoptx.* 38 # license is incompatible with lib/util/getoptx.*
40 rm -fv ${S}/tools/turbocharger/mod_gzip.c 39 rm -fv ${S}/tools/turbocharger/mod_gzip.c
41} 40}
diff --git a/meta-oe/recipes-devtools/yajl/yajl_1.0.12.bb b/meta-oe/recipes-devtools/yajl/yajl_1.0.12.bb
index 186f2c8ed0..3e569859b7 100644
--- a/meta-oe/recipes-devtools/yajl/yajl_1.0.12.bb
+++ b/meta-oe/recipes-devtools/yajl/yajl_1.0.12.bb
@@ -14,7 +14,6 @@ SRC_URI = "git://github.com/lloyd/yajl;nobranch=1;protocol=https"
14 14
15inherit cmake lib_package 15inherit cmake lib_package
16 16
17S = "${WORKDIR}/git"
18 17
19EXTRA_OECMAKE = "-DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')}" 18EXTRA_OECMAKE = "-DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')}"
20 19
diff --git a/meta-oe/recipes-devtools/yajl/yajl_2.1.0.bb b/meta-oe/recipes-devtools/yajl/yajl_2.1.0.bb
index c5b5e60027..e4434bee45 100644
--- a/meta-oe/recipes-devtools/yajl/yajl_2.1.0.bb
+++ b/meta-oe/recipes-devtools/yajl/yajl_2.1.0.bb
@@ -15,7 +15,6 @@ SRC_URI = "git://github.com/lloyd/yajl;branch=master;protocol=https \
15 " 15 "
16SRCREV = "a0ecdde0c042b9256170f2f8890dd9451a4240aa" 16SRCREV = "a0ecdde0c042b9256170f2f8890dd9451a4240aa"
17 17
18S = "${WORKDIR}/git"
19 18
20inherit cmake lib_package 19inherit cmake lib_package
21 20
diff --git a/meta-oe/recipes-devtools/yasm/yasm/0001-Do-not-use-AC_HEADER_STDC.patch b/meta-oe/recipes-devtools/yasm/yasm/0001-Do-not-use-AC_HEADER_STDC.patch
deleted file mode 100644
index bda90edb20..0000000000
--- a/meta-oe/recipes-devtools/yasm/yasm/0001-Do-not-use-AC_HEADER_STDC.patch
+++ /dev/null
@@ -1,39 +0,0 @@
1From 6b1cbe8b4dcc45103d69bc7337e5eb33d1fd21f3 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 3 Feb 2021 14:22:51 -0800
4Subject: [PATCH] Do not use AC_HEADER_STDC
5
6This macro is removed in autotools 2.70+ and it can be expected that C90
7headers are always available [1]
8
9Upstream-Status: Pending
10
11[1] https://www.gnu.org/software/autoconf/manual/autoconf-2.70/autoconf.html#index-AC_005fHEADER_005fSTDC
12
13Signed-off-by: Khem Raj <raj.khem@gmail.com>
14---
15 configure.ac | 6 ------
16 1 file changed, 6 deletions(-)
17
18diff --git a/configure.ac b/configure.ac
19index 01b61097..2823ecd7 100644
20--- a/configure.ac
21+++ b/configure.ac
22@@ -101,14 +101,8 @@ AM_WITH_DMALLOC
23 #
24 # Checks for header files.
25 #
26-AC_HEADER_STDC
27 AC_CHECK_HEADERS([strings.h libgen.h unistd.h direct.h sys/stat.h])
28
29-# REQUIRE standard C headers
30-if test "$ac_cv_header_stdc" != yes; then
31- AC_MSG_ERROR([Standard (ANSI/ISO C89) header files are required.])
32-fi
33-
34 #
35 # Checks for typedefs, structures, and compiler characteristics.
36 #
37--
382.30.0
39
diff --git a/meta-oe/recipes-devtools/yasm/yasm/0001-bitvect-fix-build-with-gcc-15.patch b/meta-oe/recipes-devtools/yasm/yasm/0001-bitvect-fix-build-with-gcc-15.patch
new file mode 100644
index 0000000000..f3f2c431d5
--- /dev/null
+++ b/meta-oe/recipes-devtools/yasm/yasm/0001-bitvect-fix-build-with-gcc-15.patch
@@ -0,0 +1,38 @@
1From 64ef740eb262f329e55eebadf2ce276b146d44e9 Mon Sep 17 00:00:00 2001
2From: Martin Jansa <martin.jansa@gmail.com>
3Date: Tue, 22 Apr 2025 19:06:24 +0200
4Subject: [PATCH] bitvect: fix build with gcc-15
5
6* fixes:
7libyasm/bitvect.h:86:32: error: cannot use keyword 'false' as enumeration constant
8 86 | typedef enum boolean { false = FALSE, true = TRUE } boolean;
9 | ^~~~~
10../git/libyasm/bitvect.h:86:32: note: 'false' is a keyword with '-std=c23' onwards
11
12as suggested in:
13https://github.com/yasm/yasm/issues/283#issuecomment-2661108816
14
15Upstream-Status: Submitted [https://github.com/yasm/yasm/pull/287]
16
17Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
18---
19 libyasm/bitvect.h | 6 +++++-
20 1 file changed, 5 insertions(+), 1 deletion(-)
21
22diff --git a/libyasm/bitvect.h b/libyasm/bitvect.h
23index 3aee3a53..a13470ad 100644
24--- a/libyasm/bitvect.h
25+++ b/libyasm/bitvect.h
26@@ -83,7 +83,11 @@ typedef Z_longword *Z_longwordptr;
27 #ifdef MACOS_TRADITIONAL
28 #define boolean Boolean
29 #else
30- typedef enum boolean { false = FALSE, true = TRUE } boolean;
31+ #if __STDC_VERSION__ < 202311L
32+ typedef enum boolean { false = FALSE, true = TRUE } boolean;
33+ #else
34+ typedef bool boolean;
35+ #endif
36 #endif
37 #endif
38
diff --git a/meta-oe/recipes-devtools/yasm/yasm/CVE-2023-31975.patch b/meta-oe/recipes-devtools/yasm/yasm/CVE-2023-31975.patch
deleted file mode 100644
index ae10e99c2f..0000000000
--- a/meta-oe/recipes-devtools/yasm/yasm/CVE-2023-31975.patch
+++ /dev/null
@@ -1,29 +0,0 @@
1From b2cc5a1693b17ac415df76d0795b15994c106441 Mon Sep 17 00:00:00 2001
2From: Katsuhiko Gondow <gondow@cs.titech.ac.jp>
3Date: Tue, 13 Jun 2023 05:00:47 +0900
4Subject: [PATCH] Fix memory leak in bin-objfmt (#231)
5
6Upstream-Status: Backport [https://github.com/yasm/yasm/commit/b2cc5a1693b17ac415df76d0795b15994c106441]
7
8CVE: CVE-2023-31975
9---
10 modules/objfmts/bin/bin-objfmt.c | 4 ++++
11 1 file changed, 4 insertions(+)
12
13diff --git a/modules/objfmts/bin/bin-objfmt.c b/modules/objfmts/bin/bin-objfmt.c
14index 18026750..a38c3422 100644
15--- a/modules/objfmts/bin/bin-objfmt.c
16+++ b/modules/objfmts/bin/bin-objfmt.c
17@@ -1680,6 +1680,10 @@ static void
18 bin_section_data_destroy(void *data)
19 {
20 bin_section_data *bsd = (bin_section_data *)data;
21+ if (bsd->align)
22+ yasm_xfree(bsd->align);
23+ if (bsd->valign)
24+ yasm_xfree(bsd->valign);
25 if (bsd->start)
26 yasm_expr_destroy(bsd->start);
27 if (bsd->vstart)
28--
292.40.0
diff --git a/meta-oe/recipes-devtools/yasm/yasm/CVE-2023-37732.patch b/meta-oe/recipes-devtools/yasm/yasm/CVE-2023-37732.patch
deleted file mode 100644
index 1ca33f0a92..0000000000
--- a/meta-oe/recipes-devtools/yasm/yasm/CVE-2023-37732.patch
+++ /dev/null
@@ -1,41 +0,0 @@
1From 2cd3bb50e256f5ed5f611ac611d25fe673f2cec3 Mon Sep 17 00:00:00 2001
2From: Peter Johnson <johnson.peter@gmail.com>
3Date: Fri, 11 Aug 2023 10:49:51 +0000
4Subject: [PATCH] elf.c: Fix NULL deref on bad xsize expression (#234)
5
6CVE: CVE-2023-37732
7
8Upstream-Status: Backport [https://github.com/yasm/yasm/commit/2cd3bb50e256f5ed5f611ac611d25fe673f2cec3]
9
10Signed-off-by: Soumya <soumya.sambu@windriver.com>
11---
12 modules/objfmts/elf/elf.c | 10 +++++-----
13 1 file changed, 5 insertions(+), 5 deletions(-)
14
15diff --git a/modules/objfmts/elf/elf.c b/modules/objfmts/elf/elf.c
16index 2486bba8..bab4c9ca 100644
17--- a/modules/objfmts/elf/elf.c
18+++ b/modules/objfmts/elf/elf.c
19@@ -482,15 +482,15 @@ elf_symtab_write_to_file(FILE *f, elf_symtab_head *symtab,
20
21 /* get size (if specified); expr overrides stored integer */
22 if (entry->xsize) {
23- size_intn = yasm_intnum_copy(
24- yasm_expr_get_intnum(&entry->xsize, 1));
25- if (!size_intn) {
26+ yasm_intnum *intn = yasm_expr_get_intnum(&entry->xsize, 1);
27+ if (!intn) {
28 yasm_error_set(YASM_ERROR_VALUE,
29 N_("size specifier not an integer expression"));
30 yasm_errwarn_propagate(errwarns, entry->xsize->line);
31- }
32+ } else
33+ size_intn = yasm_intnum_copy(intn);
34 }
35- else
36+ if (!size_intn)
37 size_intn = yasm_intnum_create_uint(entry->size);
38
39 /* get EQU value for constants */
40--
412.40.0
diff --git a/meta-oe/recipes-devtools/yasm/yasm_git.bb b/meta-oe/recipes-devtools/yasm/yasm_git.bb
index 216b777667..68895a1697 100644
--- a/meta-oe/recipes-devtools/yasm/yasm_git.bb
+++ b/meta-oe/recipes-devtools/yasm/yasm_git.bb
@@ -8,17 +8,14 @@ DEPENDS += "flex-native bison-native"
8PACKAGECONFIG[docs] = ",,xmlto-native," 8PACKAGECONFIG[docs] = ",,xmlto-native,"
9 9
10PV = "1.3.0+git" 10PV = "1.3.0+git"
11# v1.3.0 11# v1.3.0-87
12SRCREV = "ba463d3c26c0ece2e797b8d6381b161633b5971a" 12SRCREV = "121ab150b3577b666c79a79f4a511798d7ad2432"
13SRC_URI = "git://github.com/yasm/yasm.git;branch=master;protocol=https \ 13SRC_URI = "git://github.com/yasm/yasm.git;branch=master;protocol=https \
14 file://0001-Do-not-use-AC_HEADER_STDC.patch \
15 file://CVE-2023-31975.patch \
16 file://CVE-2023-37732.patch \
17 file://0001-yasm-Set-build-date-to-SOURCE_DATE_EPOCH.patch \ 14 file://0001-yasm-Set-build-date-to-SOURCE_DATE_EPOCH.patch \
18 file://0002-yasm-Use-BUILD_DATE-for-reproducibility.patch \ 15 file://0002-yasm-Use-BUILD_DATE-for-reproducibility.patch \
16 file://0001-bitvect-fix-build-with-gcc-15.patch \
19" 17"
20 18
21S = "${WORKDIR}/git"
22 19
23inherit autotools gettext python3native 20inherit autotools gettext python3native
24 21
@@ -33,3 +30,6 @@ do_configure:prepend() {
33 sed -i -e "s/^echo \"\/\* generated \$ac_cv_stdint_message \*\/\" >>\$ac_stdint$"// ${S}/m4/ax_create_stdint_h.m4 30 sed -i -e "s/^echo \"\/\* generated \$ac_cv_stdint_message \*\/\" >>\$ac_stdint$"// ${S}/m4/ax_create_stdint_h.m4
34} 31}
35 32
33CVE_STATUS_GROUPS += "CVE_STATUS_HASH_UPDATE"
34CVE_STATUS_HASH_UPDATE = "CVE-2021-33454 CVE-2023-31975 CVE-2023-37732"
35CVE_STATUS_HASH_UPDATE[status] = "fixed-version: patched in current git hash"