public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-libs/isa-l_crypto/files/, dev-libs/isa-l_crypto/
@ 2025-06-07 21:47 Sam James
  0 siblings, 0 replies; only message in thread
From: Sam James @ 2025-06-07 21:47 UTC (permalink / raw
  To: gentoo-commits

commit:     95cddcfbc30c70dc7851aff9f7f43192ea36c62a
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Jun  7 21:46:41 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jun  7 21:46:52 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=95cddcfb

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 <AT> gentoo.org>

 dev-libs/isa-l_crypto/Manifest                     |   1 +
 .../isa-l_crypto-2.25.0-configure-avx512.patch     |  26 ++++++
 .../isa-l_crypto-2.25.0-no-clobber-hardened.patch  |  23 +++++
 .../isa-l_crypto-2.25.0-respect-LDFLAGS.patch      |  18 ++++
 .../files/isa-l_crypto-2.25.0-sha1_mb-build.patch  |  65 +++++++++++++
 .../isa-l_crypto-2.25.0-tests-use-internal.patch   | 101 +++++++++++++++++++++
 .../files/isa-l_crypto-2.25.0_makefile-no-D.patch  |  17 ++++
 dev-libs/isa-l_crypto/isa-l_crypto-2.25.0.ebuild   |  58 ++++++++++++
 8 files changed, 309 insertions(+)

diff --git a/dev-libs/isa-l_crypto/Manifest b/dev-libs/isa-l_crypto/Manifest
index 4934b64eadcb..826b5e3bf3d9 100644
--- a/dev-libs/isa-l_crypto/Manifest
+++ b/dev-libs/isa-l_crypto/Manifest
@@ -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

diff --git a/dev-libs/isa-l_crypto/files/isa-l_crypto-2.25.0-configure-avx512.patch b/dev-libs/isa-l_crypto/files/isa-l_crypto-2.25.0-configure-avx512.patch
new file mode 100644
index 000000000000..090b97dc475c
--- /dev/null
+++ b/dev-libs/isa-l_crypto/files/isa-l_crypto-2.25.0-configure-avx512.patch
@@ -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])
+

diff --git a/dev-libs/isa-l_crypto/files/isa-l_crypto-2.25.0-no-clobber-hardened.patch b/dev-libs/isa-l_crypto/files/isa-l_crypto-2.25.0-no-clobber-hardened.patch
new file mode 100644
index 000000000000..3dea07eecf32
--- /dev/null
+++ b/dev-libs/isa-l_crypto/files/isa-l_crypto-2.25.0-no-clobber-hardened.patch
@@ -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 $@

diff --git a/dev-libs/isa-l_crypto/files/isa-l_crypto-2.25.0-respect-LDFLAGS.patch b/dev-libs/isa-l_crypto/files/isa-l_crypto-2.25.0-respect-LDFLAGS.patch
new file mode 100644
index 000000000000..36051c73d592
--- /dev/null
+++ b/dev-libs/isa-l_crypto/files/isa-l_crypto-2.25.0-respect-LDFLAGS.patch
@@ -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])

diff --git a/dev-libs/isa-l_crypto/files/isa-l_crypto-2.25.0-sha1_mb-build.patch b/dev-libs/isa-l_crypto/files/isa-l_crypto-2.25.0-sha1_mb-build.patch
new file mode 100644
index 000000000000..b6866902be14
--- /dev/null
+++ b/dev-libs/isa-l_crypto/files/isa-l_crypto-2.25.0-sha1_mb-build.patch
@@ -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);
+ }
+

diff --git a/dev-libs/isa-l_crypto/files/isa-l_crypto-2.25.0-tests-use-internal.patch b/dev-libs/isa-l_crypto/files/isa-l_crypto-2.25.0-tests-use-internal.patch
new file mode 100644
index 000000000000..f72b46874850
--- /dev/null
+++ b/dev-libs/isa-l_crypto/files/isa-l_crypto-2.25.0-tests-use-internal.patch
@@ -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
+ 
+

diff --git a/dev-libs/isa-l_crypto/files/isa-l_crypto-2.25.0_makefile-no-D.patch b/dev-libs/isa-l_crypto/files/isa-l_crypto-2.25.0_makefile-no-D.patch
new file mode 100644
index 000000000000..66bb26152605
--- /dev/null
+++ b/dev-libs/isa-l_crypto/files/isa-l_crypto-2.25.0_makefile-no-D.patch
@@ -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:

diff --git a/dev-libs/isa-l_crypto/isa-l_crypto-2.25.0.ebuild b/dev-libs/isa-l_crypto/isa-l_crypto-2.25.0.ebuild
new file mode 100644
index 000000000000..be8d966a69ac
--- /dev/null
+++ b/dev-libs/isa-l_crypto/isa-l_crypto-2.25.0.ebuild
@@ -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
+}


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2025-06-07 21:47 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-07 21:47 [gentoo-commits] repo/gentoo:master commit in: dev-libs/isa-l_crypto/files/, dev-libs/isa-l_crypto/ Sam James

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox