@@ -9,8 +9,10 @@ Subject: [PATCH] Fix libsodium build
Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
-[lz: Adapted the patch for context changes when upgrading
-from 0.99.1 to 0.99.2.]
+[lz: Adapted the patch for context changes when upgrading minifi-cpp
+from 0.99.1 to 0.99.2; adapted the patch when upgrading libsodium
+from 1.0.19 to 1.0.20 because the top-level directory name inside the
+tarball changed from libsodium-stable to libsodium-1.0.20.]
Signed-off-by: Li Zhou <li.zhou@windriver.com>
---
cmake/BundledLibSodium.cmake | 6 ++----
@@ -33,7 +35,7 @@ index 001a90dad..87a3244fd 100644
- URL_HASH ${LIBSODIUM_URL_HASH}
BUILD_IN_SOURCE true
- SOURCE_DIR "${BINARY_DIR}/thirdparty/libsodium-src"
-+ SOURCE_DIR "${SOURCE_DIR}/thirdparty/libsodium-stable"
++ SOURCE_DIR "${SOURCE_DIR}/thirdparty/libsodium-1.0.20"
BUILD_COMMAND make
CMAKE_COMMAND ""
UPDATE_COMMAND ""
deleted file mode 100644
@@ -1,141 +0,0 @@
-From 3a59f8e5331bb6be5d298bc5c136a79102196c1d Mon Sep 17 00:00:00 2001
-From: Frank Denis <github@pureftpd.org>
-Date: Fri, 20 Oct 2023 13:47:57 +0200
-Subject: [PATCH] aarch64: set compiler attributes *after* including
- <arm_neon.h>
-
-Fixes #1321
-
-Upstream-Status: Backport
-[https://github.com/jedisct1/libsodium/commit/8f453f41f8834e0fe47610f2a3e03e696ddb3450]
-
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
----
- thirdparty/libsodium-stable/configure.ac | 11 ++++++-----
- .../crypto_aead/aegis128l/aegis128l_armcrypto.c | 12 ++++++------
- .../crypto_aead/aegis256/aegis256_armcrypto.c | 12 ++++++------
- .../aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c | 12 ++++++------
- 4 files changed, 24 insertions(+), 23 deletions(-)
-
-diff --git a/thirdparty/libsodium-stable/configure.ac b/thirdparty/libsodium-stable/configure.ac
-index df83ef512..be67d3417 100644
---- a/thirdparty/libsodium-stable/configure.ac
-+++ b/thirdparty/libsodium-stable/configure.ac
-@@ -398,11 +398,6 @@ AS_IF([test "x$EMSCRIPTEN" = "x"], [
- have_armcrypto=no
- AC_MSG_CHECKING(for ARM crypto instructions set)
- AC_LINK_IFELSE([AC_LANG_PROGRAM([[
-- #ifdef __clang__
-- # pragma clang attribute push(__attribute__((target("neon,crypto,aes"))), apply_to = function)
-- #elif defined(__GNUC__)
-- # pragma GCC target("+simd+crypto")
-- #endif
- #ifndef __ARM_FEATURE_CRYPTO
- # define __ARM_FEATURE_CRYPTO 1
- #endif
-@@ -411,6 +406,12 @@ AS_IF([test "x$EMSCRIPTEN" = "x"], [
- #endif
-
- #include <arm_neon.h>
-+
-+ #ifdef __clang__
-+ # pragma clang attribute push(__attribute__((target("neon,crypto,aes"))), apply_to = function)
-+ #elif defined(__GNUC__)
-+ # pragma GCC target("+simd+crypto")
-+ #endif
- ]], [[
- vaeseq_u8(vmovq_n_u8(0), vmovq_n_u8(0));
-
-diff --git a/thirdparty/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aegis128l_armcrypto.c b/thirdparty/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aegis128l_armcrypto.c
-index 825de8a1c..a01f60cbe 100644
---- a/thirdparty/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aegis128l_armcrypto.c
-+++ b/thirdparty/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aegis128l_armcrypto.c
-@@ -17,12 +17,6 @@
-
- #include "aegis128l_armcrypto.h"
-
--#ifdef __clang__
--#pragma clang attribute push(__attribute__((target("neon,crypto,aes"))), apply_to = function)
--#elif defined(__GNUC__)
--#pragma GCC target("+simd+crypto")
--#endif
--
- #ifndef __ARM_FEATURE_CRYPTO
- #define __ARM_FEATURE_CRYPTO 1
- #endif
-@@ -32,6 +26,12 @@
-
- #include <arm_neon.h>
-
-+#ifdef __clang__
-+#pragma clang attribute push(__attribute__((target("neon,crypto,aes"))), apply_to = function)
-+#elif defined(__GNUC__)
-+#pragma GCC target("+simd+crypto")
-+#endif
-+
- #define AES_BLOCK_LENGTH 16
-
- typedef uint8x16_t aes_block_t;
-diff --git a/thirdparty/libsodium-stable/src/libsodium/crypto_aead/aegis256/aegis256_armcrypto.c b/thirdparty/libsodium-stable/src/libsodium/crypto_aead/aegis256/aegis256_armcrypto.c
-index e1ebd577a..058e2072b 100644
---- a/thirdparty/libsodium-stable/src/libsodium/crypto_aead/aegis256/aegis256_armcrypto.c
-+++ b/thirdparty/libsodium-stable/src/libsodium/crypto_aead/aegis256/aegis256_armcrypto.c
-@@ -17,12 +17,6 @@
-
- #include "aegis256_armcrypto.h"
-
--#ifdef __clang__
--#pragma clang attribute push(__attribute__((target("neon,crypto,aes"))), apply_to = function)
--#elif defined(__GNUC__)
--#pragma GCC target("+simd+crypto")
--#endif
--
- #ifndef __ARM_FEATURE_CRYPTO
- #define __ARM_FEATURE_CRYPTO 1
- #endif
-@@ -32,6 +26,12 @@
-
- #include <arm_neon.h>
-
-+#ifdef __clang__
-+#pragma clang attribute push(__attribute__((target("neon,crypto,aes"))), apply_to = function)
-+#elif defined(__GNUC__)
-+#pragma GCC target("+simd+crypto")
-+#endif
-+
- #define AES_BLOCK_LENGTH 16
-
- typedef uint8x16_t aes_block_t;
-diff --git a/thirdparty/libsodium-stable/src/libsodium/crypto_aead/aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c b/thirdparty/libsodium-stable/src/libsodium/crypto_aead/aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c
-index 0a5a12811..aa76f5cd1 100644
---- a/thirdparty/libsodium-stable/src/libsodium/crypto_aead/aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c
-+++ b/thirdparty/libsodium-stable/src/libsodium/crypto_aead/aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c
-@@ -19,12 +19,6 @@
- #define __vectorcall
- #endif
-
--#ifdef __clang__
--#pragma clang attribute push(__attribute__((target("neon,crypto,aes"))), apply_to = function)
--#elif defined(__GNUC__)
--#pragma GCC target("+simd+crypto")
--#endif
--
- #ifndef __ARM_FEATURE_CRYPTO
- #define __ARM_FEATURE_CRYPTO 1
- #endif
-@@ -34,6 +28,12 @@
-
- #include <arm_neon.h>
-
-+#ifdef __clang__
-+#pragma clang attribute push(__attribute__((target("neon,crypto,aes"))), apply_to = function)
-+#elif defined(__GNUC__)
-+#pragma GCC target("+simd+crypto")
-+#endif
-+
- #define ABYTES crypto_aead_aes256gcm_ABYTES
- #define NPUBBYTES crypto_aead_aes256gcm_NPUBBYTES
- #define KEYBYTES crypto_aead_aes256gcm_KEYBYTES
-2.34.1
-
@@ -19,14 +19,13 @@ SRC_URI = "git://github.com/apache/nifi-minifi-cpp.git;protocol=https;branch=mai
git://github.com/gabime/spdlog.git;protocol=https;branch=v1.x;tag=v1.15.3;name=spdlog;destsuffix=${S}/thirdparty/spdlog-src \
git://github.com/danielaparker/jsoncons.git;protocol=https;branch=master;name=jsoncons;destsuffix=${S}/thirdparty/jsoncons-src \
${DEBIAN_MIRROR}/main/o/ossp-uuid/ossp-uuid_1.6.2.orig.tar.gz;name=ossp-uuid;subdir=${S}/thirdparty \
- https://download.libsodium.org/libsodium/releases/libsodium-1.0.19.tar.gz;name=libsodium;subdir=${S}/thirdparty \
+ https://download.libsodium.org/libsodium/releases/libsodium-1.0.20.tar.gz;name=libsodium;subdir=${S}/thirdparty \
file://0001-Do-not-use-bundled-packages.patch \
file://0002-Fix-osspuuid-build.patch \
file://0003-Fix-libsodium-build.patch \
file://0004-Pass-noline-flag-to-flex.patch \
file://0005-generateVersion.sh-set-correct-buildrev.patch \
file://0006-CMakeLists.txt-do-not-use-ccache.patch \
- file://0007-libsodium-aarch64-set-compiler-attributes-after-including-arm_.patch \
file://0001-Add-missing-include-for-malloc-free.patch;patchdir=thirdparty/fmt-src \
file://0001-generateVersion.sh-set-BUILD_DATE-to-SOURCE_DATE_EPO.patch \
file://0001-Fix-build-with-gcc-16.patch \
@@ -61,8 +60,8 @@ SRCREV_FORMAT .= "_expected-lite_range-v3_magic-enum_argparse_gsl-lite_date_asio
# ossp-uuid: 1.6.2
SRC_URI[ossp-uuid.sha256sum] = "11a615225baa5f8bb686824423f50e4427acd3f70d394765bdff32801f0fd5b0"
-# libsodium: 1.0.19
-SRC_URI[libsodium.sha256sum] = "018d79fe0a045cca07331d37bd0cb57b2e838c51bc48fd837a1472e50068bbea"
+# libsodium: 1.0.20
+SRC_URI[libsodium.sha256sum] = "ebb65ef6ca439333c2bb41a0c1990587288da07f6c7fd07cb3a18cc18d30ce19"
inherit pkgconfig cmake systemd
Upgrade libsodium from 1.0.19 to 1.0.20 for minifi-cpp third party dependency. Updated below patch for upgrading: 0003-Fix-libsodium-build.patch Removed below patch because it is in the new version: 0007-libsodium-aarch64-set-compiler-attributes-after-including-arm_.patcha Signed-off-by: Li Zhou <li.zhou@windriver.com> --- .../files/0003-Fix-libsodium-build.patch | 8 +- ...iler-attributes-after-including-arm_.patch | 141 ------------------ .../minifi-cpp/minifi-cpp_0.99.2.bb | 7 +- 3 files changed, 8 insertions(+), 148 deletions(-) delete mode 100644 meta-oe/recipes-extended/minifi-cpp/files/0007-libsodium-aarch64-set-compiler-attributes-after-including-arm_.patch