mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-24 18:58:08 -07:00
dev-libs/isa-l_crypto: add 2.25.0
Closes: https://bugs.gentoo.org/923719 Closes: https://bugs.gentoo.org/924865 Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
@@ -1 +1,2 @@
|
||||
DIST isa-l_crypto-2.24.0.tar.gz 687392 BLAKE2B 10b5e820f9e9d25f0f013d4cfe832760363bf1f1f2759a94f733b25ebd62b52a98262969e24be1ba86d132ee6eaefc9e64c99cceb4f9ba206c848b9aeb45f9d8 SHA512 f72800a8ff9c0b2bfdd88cb6780db91bfd5763af04a6318aa3acaff0b1326e3348cb3a4aff17c99636eb291d1ff6249dcf896392a2450adacd83ddbf4c7299da
|
||||
DIST isa-l_crypto-2.25.0.tar.gz 837729 BLAKE2B 18328b404a2686718fc8cf9bc596816e4521ec85440e8aad2bb40d32eabc606807617fc08c2790c4bb0a0b84648fa9820a4a6c19ac6a3cbbbc2cd96bddfd1eb9 SHA512 d63f14468258b977cf85bcb2cb5a6de1a678d51631cdbb361aed0f45a5c0ae3770bb40721b6da1cfe889cb88c2c5620a12adf2a8b0c90031f1bfe1b276641f38
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
https://github.com/intel/isa-l_crypto/commit/0850c01cc03e45f77d5883372dd6be983ba163ce
|
||||
|
||||
From 0850c01cc03e45f77d5883372dd6be983ba163ce Mon Sep 17 00:00:00 2001
|
||||
From: Mehrdad Tahernia <mehrdad@n-hop.com>
|
||||
Date: Tue, 28 Jan 2025 11:55:20 +0800
|
||||
Subject: [PATCH] configure.ac: fix syntax for AVX512 support check
|
||||
|
||||
Signed-off-by: Mehrdad Tahernia <mehrdad@n-hop.com>
|
||||
---
|
||||
configure.ac | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 2af2f15f..8e9b9db9 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -217,7 +217,7 @@ int main(int argc, char **argv)
|
||||
fi
|
||||
if test x"$as_feature_level" = x"6"; then
|
||||
AC_MSG_CHECKING([for additional as AVX512 support])
|
||||
- AC_LANG_CONFTEST([AC_LANG_SOURCE([[vpcompressb zmm0, k1, zmm1;]])])
|
||||
+ AC_LANG_CONFTEST([AC_LANG_SOURCE([[vpcompressb zmm0 {k1}, zmm1;]])])
|
||||
sed -i -e '/vpcompressb/!d' conftest.c
|
||||
if $AS -f elf64 conftest.c 2> /dev/null; then
|
||||
AC_MSG_RESULT([yes])
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
Don't override hardened toolchain defaults.
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -311,8 +311,6 @@ my_CFLAGS="\
|
||||
-Wshadow \
|
||||
-Wstrict-prototypes \
|
||||
-Wtype-limits \
|
||||
--fstack-protector \
|
||||
--D_FORTIFY_SOURCE=2 \
|
||||
-DNO_COMPAT_ISAL_CRYPTO_API_2_24
|
||||
"
|
||||
AC_SUBST([my_CFLAGS])
|
||||
--- a/make.inc
|
||||
+++ b/make.inc
|
||||
@@ -51,7 +51,7 @@ DEBUG = -g
|
||||
DEBUG_nasm = -g
|
||||
|
||||
# Default arch= build options
|
||||
-CFLAGS_ = -Wall -Wchar-subscripts -Wformat-security -Wnested-externs -Wpointer-arith -Wshadow -Wstrict-prototypes -Wtype-limits -fstack-protector -D_FORTIFY_SOURCE=2 -DNO_COMPAT_ISAL_CRYPTO_API_2_24
|
||||
+CFLAGS_ = -Wall -Wchar-subscripts -Wformat-security -Wnested-externs -Wpointer-arith -Wshadow -Wstrict-prototypes -Wtype-limits -DNO_COMPAT_ISAL_CRYPTO_API_2_24
|
||||
ASFLAGS_ = -f elf64
|
||||
ARFLAGS_ = cr $@
|
||||
STRIP_gcc = strip -d -R .comment $@
|
||||
@@ -0,0 +1,18 @@
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -119,6 +119,7 @@ AS_IF([test "x$intel_cet_enabled" = "xyes"], [
|
||||
])
|
||||
|
||||
# check if LD -z options are supported
|
||||
+orig_LDFLAGS="${LDFLAGS}"
|
||||
LDFLAGS="\
|
||||
-Wl,-z,noexecstack \
|
||||
-Wl,-z,relro \
|
||||
@@ -283,6 +284,7 @@ else
|
||||
AM_CONDITIONAL(WITH_SHANI, test "x" = "y")
|
||||
AM_CONDITIONAL(DARWIN, test "x" = "y")
|
||||
fi
|
||||
+LDFLAGS="${orig_LDFLAGS}"
|
||||
|
||||
# Check for header files
|
||||
AC_CHECK_HEADERS([limits.h stdint.h stdlib.h string.h])
|
||||
@@ -0,0 +1,65 @@
|
||||
https://github.com/intel/isa-l_crypto/commit/6e62643df9ed6c2c62e287d14f192057189dda8d
|
||||
|
||||
From 6e62643df9ed6c2c62e287d14f192057189dda8d Mon Sep 17 00:00:00 2001
|
||||
From: "Ivan A. Melnikov" <iv@altlinux.org>
|
||||
Date: Wed, 31 Jul 2024 17:44:29 +0400
|
||||
Subject: [PATCH] sha1_mb: Add missing ISAL_ prefixes to base aliases
|
||||
|
||||
Commit 0106da915b7024075fc74900ff63fa931ac15475 somehow
|
||||
missed updating the base aliases, which broke build
|
||||
on architectures for which SHA1 routines were not
|
||||
specifically optimized, e.g. loongarch64.
|
||||
|
||||
This commit addresses that.
|
||||
|
||||
Fixes: 0106da915b7024075fc74900ff63fa931ac15475
|
||||
Signed-off-by: Ivan A. Melnikov <iv@altlinux.org>
|
||||
---
|
||||
sha1_mb/sha1_ctx_base_aliases.c | 22 +++++++++++-----------
|
||||
1 file changed, 11 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/sha1_mb/sha1_ctx_base_aliases.c b/sha1_mb/sha1_ctx_base_aliases.c
|
||||
index 517cfc15..b0c7643c 100644
|
||||
--- a/sha1_mb/sha1_ctx_base_aliases.c
|
||||
+++ b/sha1_mb/sha1_ctx_base_aliases.c
|
||||
@@ -32,28 +32,28 @@
|
||||
#include "memcpy_inline.h"
|
||||
|
||||
extern void
|
||||
-_sha1_ctx_mgr_init_base(SHA1_HASH_CTX_MGR *mgr);
|
||||
-extern SHA1_HASH_CTX *
|
||||
-_sha1_ctx_mgr_submit_base(SHA1_HASH_CTX_MGR *mgr, SHA1_HASH_CTX *ctx, const void *buffer,
|
||||
+_sha1_ctx_mgr_init_base(ISAL_SHA1_HASH_CTX_MGR *mgr);
|
||||
+extern ISAL_SHA1_HASH_CTX *
|
||||
+_sha1_ctx_mgr_submit_base(ISAL_SHA1_HASH_CTX_MGR *mgr, ISAL_SHA1_HASH_CTX *ctx, const void *buffer,
|
||||
uint32_t len, ISAL_HASH_CTX_FLAG flags);
|
||||
-extern SHA1_HASH_CTX *
|
||||
-_sha1_ctx_mgr_flush_base(SHA1_HASH_CTX_MGR *mgr);
|
||||
+extern ISAL_SHA1_HASH_CTX *
|
||||
+_sha1_ctx_mgr_flush_base(ISAL_SHA1_HASH_CTX_MGR *mgr);
|
||||
|
||||
void
|
||||
-_sha1_ctx_mgr_init(SHA1_HASH_CTX_MGR *mgr)
|
||||
+_sha1_ctx_mgr_init(ISAL_SHA1_HASH_CTX_MGR *mgr)
|
||||
{
|
||||
return _sha1_ctx_mgr_init_base(mgr);
|
||||
}
|
||||
|
||||
-SHA1_HASH_CTX *
|
||||
-_sha1_ctx_mgr_submit(SHA1_HASH_CTX_MGR *mgr, SHA1_HASH_CTX *ctx, const void *buffer, uint32_t len,
|
||||
- ISAL_HASH_CTX_FLAG flags)
|
||||
+ISAL_SHA1_HASH_CTX *
|
||||
+_sha1_ctx_mgr_submit(ISAL_SHA1_HASH_CTX_MGR *mgr, ISAL_SHA1_HASH_CTX *ctx, const void *buffer,
|
||||
+ uint32_t len, ISAL_HASH_CTX_FLAG flags)
|
||||
{
|
||||
return _sha1_ctx_mgr_submit_base(mgr, ctx, buffer, len, flags);
|
||||
}
|
||||
|
||||
-SHA1_HASH_CTX *
|
||||
-_sha1_ctx_mgr_flush(SHA1_HASH_CTX_MGR *mgr)
|
||||
+ISAL_SHA1_HASH_CTX *
|
||||
+_sha1_ctx_mgr_flush(ISAL_SHA1_HASH_CTX_MGR *mgr)
|
||||
{
|
||||
return _sha1_ctx_mgr_flush_base(mgr);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,101 @@
|
||||
https://github.com/intel/isa-l_crypto/commit/2188e8a03357a64f768a2765bcf452401a2b12fc
|
||||
|
||||
From 2188e8a03357a64f768a2765bcf452401a2b12fc Mon Sep 17 00:00:00 2001
|
||||
From: Pablo de Lara <pablo.de.lara.guarch@intel.com>
|
||||
Date: Tue, 5 Nov 2024 09:07:36 +0000
|
||||
Subject: [PATCH] tests: [ACVP] use internal isa-l crypto library
|
||||
|
||||
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
|
||||
---
|
||||
tests/acvp/acvp_app.c | 2 +-
|
||||
tests/acvp/acvp_app_isal_cbc.c | 3 ++-
|
||||
tests/acvp/acvp_app_isal_gcm.c | 3 ++-
|
||||
tests/acvp/acvp_app_isal_sha.c | 5 ++++-
|
||||
tests/acvp/acvp_app_isal_xts.c | 3 ++-
|
||||
tests/acvp/makefile | 2 +-
|
||||
6 files changed, 12 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/tests/acvp/acvp_app.c b/tests/acvp/acvp_app.c
|
||||
index cb811622..c144ef23 100644
|
||||
--- a/tests/acvp/acvp_app.c
|
||||
+++ b/tests/acvp/acvp_app.c
|
||||
@@ -33,7 +33,7 @@
|
||||
#include <string.h>
|
||||
#include <getopt.h>
|
||||
#include <acvp/acvp.h>
|
||||
-#include <isa-l_crypto.h>
|
||||
+#include "include/isal_crypto_api.h"
|
||||
|
||||
#if defined(__GNUC__) || defined(__clang__)
|
||||
#define ATTRIBUTE(x) __attribute__((x))
|
||||
diff --git a/tests/acvp/acvp_app_isal_cbc.c b/tests/acvp/acvp_app_isal_cbc.c
|
||||
index 39d0c9f0..f5c6ddc3 100644
|
||||
--- a/tests/acvp/acvp_app_isal_cbc.c
|
||||
+++ b/tests/acvp/acvp_app_isal_cbc.c
|
||||
@@ -32,7 +32,8 @@
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <acvp/acvp.h>
|
||||
-#include <isa-l_crypto.h>
|
||||
+#include "include/aes_cbc.h"
|
||||
+#include "include/aes_keyexp.h"
|
||||
|
||||
extern uint8_t verbose;
|
||||
|
||||
diff --git a/tests/acvp/acvp_app_isal_gcm.c b/tests/acvp/acvp_app_isal_gcm.c
|
||||
index a1dea085..8f2f4b35 100644
|
||||
--- a/tests/acvp/acvp_app_isal_gcm.c
|
||||
+++ b/tests/acvp/acvp_app_isal_gcm.c
|
||||
@@ -31,7 +31,8 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <acvp/acvp.h>
|
||||
-#include <isa-l_crypto.h>
|
||||
+
|
||||
+#include "include/aes_gcm.h"
|
||||
|
||||
extern uint8_t verbose;
|
||||
|
||||
diff --git a/tests/acvp/acvp_app_isal_sha.c b/tests/acvp/acvp_app_isal_sha.c
|
||||
index c15ddaa9..d09d880c 100644
|
||||
--- a/tests/acvp/acvp_app_isal_sha.c
|
||||
+++ b/tests/acvp/acvp_app_isal_sha.c
|
||||
@@ -31,7 +31,10 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <acvp/acvp.h>
|
||||
-#include <isa-l_crypto.h>
|
||||
+
|
||||
+#include "include/sha1_mb.h"
|
||||
+#include "include/sha256_mb.h"
|
||||
+#include "include/sha512_mb.h"
|
||||
|
||||
extern uint8_t verbose;
|
||||
|
||||
diff --git a/tests/acvp/acvp_app_isal_xts.c b/tests/acvp/acvp_app_isal_xts.c
|
||||
index 621ab78a..da78390f 100644
|
||||
--- a/tests/acvp/acvp_app_isal_xts.c
|
||||
+++ b/tests/acvp/acvp_app_isal_xts.c
|
||||
@@ -30,7 +30,8 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <acvp/acvp.h>
|
||||
-#include <isa-l_crypto.h>
|
||||
+
|
||||
+#include "include/aes_xts.h"
|
||||
|
||||
extern uint8_t verbose;
|
||||
|
||||
diff --git a/tests/acvp/makefile b/tests/acvp/makefile
|
||||
index f5d650ab..b6dd7575 100644
|
||||
--- a/tests/acvp/makefile
|
||||
+++ b/tests/acvp/makefile
|
||||
@@ -1,6 +1,6 @@
|
||||
ACVP_PATH = /usr/local/acvp
|
||||
|
||||
-INCLUDES = -I $(ACVP_PATH)/include -L $(ACVP_PATH)/lib
|
||||
+INCLUDES = -I $(ACVP_PATH)/include -L $(ACVP_PATH)/lib -I ../../
|
||||
CFLAGS = -Wall -O2 $(INCLUDES) -DNO_COMPAT_ISAL_CRYPTO_API_2_24
|
||||
LDLIBS = -lacvp -lisal_crypto
|
||||
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -121,11 +121,11 @@ CCAS = $(as_filter)
|
||||
EXTRA_DIST += tools/nasm-filter.sh
|
||||
EXTRA_DIST += tools/nasm-cet-filter.sh
|
||||
|
||||
-AM_CFLAGS = ${my_CFLAGS} ${INCLUDE} $(src_include) ${D}
|
||||
+AM_CFLAGS = ${my_CFLAGS} ${INCLUDE} $(src_include) ${DIST_D}
|
||||
if CPU_AARCH64
|
||||
-AM_CCASFLAGS = ${asm_args} ${INCLUDE} $(src_include) ${D}
|
||||
+AM_CCASFLAGS = ${asm_args} ${INCLUDE} $(src_include) ${DIST_D}
|
||||
else
|
||||
-AM_CCASFLAGS = ${asm_args} ${INCLUDE} $(src_include) ${DEFS} ${D}
|
||||
+AM_CCASFLAGS = ${asm_args} ${INCLUDE} $(src_include) ${DEFS} ${DIST_D}
|
||||
endif
|
||||
|
||||
.asm.s:
|
||||
58
dev-libs/isa-l_crypto/isa-l_crypto-2.25.0.ebuild
Normal file
58
dev-libs/isa-l_crypto/isa-l_crypto-2.25.0.ebuild
Normal file
@@ -0,0 +1,58 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit autotools flag-o-matic
|
||||
|
||||
DESCRIPTION="Intelligent Storage Acceleration Library - cryptographic components"
|
||||
HOMEPAGE="https://github.com/intel/isa-l_crypto"
|
||||
SRC_URI="https://github.com/intel/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="cpu_flags_x86_avx512f"
|
||||
|
||||
# AVX512 support in yasm is still work in progress
|
||||
# Note that dev-libs/isa-l-2.31.1 has a workaround for this, but that
|
||||
# doesn't seem to have reached isa-l_crypto yet.
|
||||
BDEPEND="amd64? (
|
||||
cpu_flags_x86_avx512f? ( >=dev-lang/nasm-2.13 )
|
||||
!cpu_flags_x86_avx512f? ( || (
|
||||
>=dev-lang/nasm-2.11.01
|
||||
>=dev-lang/yasm-1.2.0
|
||||
) )
|
||||
)"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-2.25.0_makefile-no-D.patch
|
||||
"${FILESDIR}"/${PN}-2.25.0-sha1_mb-build.patch
|
||||
"${FILESDIR}"/${PN}-2.25.0-tests-use-internal.patch
|
||||
"${FILESDIR}"/${PN}-2.25.0-configure-avx512.patch
|
||||
"${FILESDIR}"/${PN}-2.25.0-respect-LDFLAGS.patch
|
||||
"${FILESDIR}"/${PN}-2.25.0-no-clobber-hardened.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# isa-l does not support arbitrary assemblers on amd64 (and presumably x86),
|
||||
# it must be either nasm or yasm.
|
||||
use amd64 && unset AS
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Test failures with LTO (bug #924865)
|
||||
# Likely related to https://github.com/intel/isa-l_crypto/issues/73
|
||||
append-flags -fno-strict-aliasing
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
find "${ED}" -name '*.la' -delete || die
|
||||
}
|
||||
Reference in New Issue
Block a user