git: 9bcaea9b3c9d - main - security/libaegis: Add libaegis 0.1.23
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 15 Sep 2024 20:15:34 UTC
The branch main has been updated by sunpoet:
URL: https://cgit.FreeBSD.org/ports/commit/?id=9bcaea9b3c9dc1651db7d3c9a143182608a72ee3
commit 9bcaea9b3c9dc1651db7d3c9a143182608a72ee3
Author: Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2024-09-15 19:08:04 +0000
Commit: Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2024-09-15 20:09:33 +0000
security/libaegis: Add libaegis 0.1.23
libaegis is a portable C implementations of the AEGIS family of high-performance
authenticated ciphers (AEGIS-128L, AEGIS-128X2, AEGIS-128X4, AEGIS-256,
AEGIS-256X2, AEGIS-256X4), with runtime CPU detection.
Features:
- AEGIS-128L with 16 and 32 bytes tags (software, AES-NI, ARM Crypto)
- AEGIS-128X2 with 16 and 32 bytes tags (software, VAES + AVX2, AES-NI, ARM
Crypto)
- AEGIS-128X4 with 16 and 32 bytes tags (software, AVX512, VAES + AVX2, AES-NI,
ARM Crypto)
- AEGIS-256 with 16 and 32 bytes tags (software, AES-NI, ARM Crypto)
- AEGIS-256X2 with 16 and 32 bytes tags (software, VAES + AVX2, AES-NI, ARM
Crypto)
- AEGIS-256X4 with 16 and 32 bytes tags (software, AVX512, VAES + AVX2, AES-NI,
ARM Crypto)
- All variants of AEGIS-MAC, supporting incremental updates.
- Encryption and decryption with attached and detached tags
- Incremental encryption and decryption.
- Unauthenticated encryption and decryption (not recommended - only implemented
for specific protocols)
- Deterministic pseudorandom stream generation.
---
security/Makefile | 1 +
security/libaegis/Makefile | 17 ++++++++++++++
security/libaegis/distinfo | 3 +++
security/libaegis/files/patch-CMakeLists.txt | 34 ++++++++++++++++++++++++++++
security/libaegis/pkg-descr | 21 +++++++++++++++++
security/libaegis/pkg-plist | 12 ++++++++++
6 files changed, 88 insertions(+)
diff --git a/security/Makefile b/security/Makefile
index fbd341f75c23..888955587526 100644
--- a/security/Makefile
+++ b/security/Makefile
@@ -281,6 +281,7 @@
SUBDIR += lasso
SUBDIR += lastpass-cli
SUBDIR += lego
+ SUBDIR += libaegis
SUBDIR += libargon2
SUBDIR += libassuan
SUBDIR += libcaes
diff --git a/security/libaegis/Makefile b/security/libaegis/Makefile
new file mode 100644
index 000000000000..87390a3d68e1
--- /dev/null
+++ b/security/libaegis/Makefile
@@ -0,0 +1,17 @@
+PORTNAME= libaegis
+PORTVERSION= 0.1.23
+CATEGORIES= security
+
+MAINTAINER= sunpoet@FreeBSD.org
+COMMENT= Portable C implementations of the AEGIS family
+WWW= https://github.com/jedisct1/libaegis
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= cmake
+
+USE_GITHUB= yes
+GH_ACCOUNT= jedisct1
+
+.include <bsd.port.mk>
diff --git a/security/libaegis/distinfo b/security/libaegis/distinfo
new file mode 100644
index 000000000000..edd6cf6f127b
--- /dev/null
+++ b/security/libaegis/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1726080913
+SHA256 (jedisct1-libaegis-0.1.23_GH0.tar.gz) = fb819a40de5455dab0756fbe0878ece782e7f49e6105349caca75801644f3b8c
+SIZE (jedisct1-libaegis-0.1.23_GH0.tar.gz) = 350838
diff --git a/security/libaegis/files/patch-CMakeLists.txt b/security/libaegis/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..ab85e050aff6
--- /dev/null
+++ b/security/libaegis/files/patch-CMakeLists.txt
@@ -0,0 +1,34 @@
+--- CMakeLists.txt.orig 2024-06-10 09:34:37 UTC
++++ CMakeLists.txt
+@@ -13,8 +13,9 @@ file(GLOB HEADER_FILES "src/include/*.h")
+ file(GLOB SOURCE_FILES "src/aegis128l/*.c" "src/aegis128x2/*.c" "src/aegis128x4/*.c" "src/aegis256/*.c" "src/aegis256x2/*.c" "src/aegis256x4/*.c" "src/common/*.c")
+ file(GLOB HEADER_FILES "src/include/*.h")
+
+-add_library("${PROJECT_NAME}")
++add_library("${PROJECT_NAME}" SHARED)
+ add_library("${PROJECT_NAME}::${PROJECT_NAME}" ALIAS "${PROJECT_NAME}")
++add_library("${PROJECT_NAME}_static" STATIC)
+
+ target_sources("${PROJECT_NAME}" PRIVATE ${SOURCE_FILES})
+
+@@ -22,11 +23,19 @@ target_include_directories("${PROJECT_NAME}"
+ PUBLIC $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>
+ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
+
++target_sources("${PROJECT_NAME}_static" PRIVATE ${SOURCE_FILES})
++
++target_include_directories("${PROJECT_NAME}_static"
++ PUBLIC $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>
++ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
++
++set_target_properties("${PROJECT_NAME}_static" PROPERTIES OUTPUT_NAME "${PROJECT_NAME}")
++
+ # Installation
+
+ set(TARGETS_EXPORT_NAME "${PROJECT_NAME}-targets")
+
+-install(TARGETS "${PROJECT_NAME}"
++install(TARGETS "${PROJECT_NAME}" "${PROJECT_NAME}_static"
+ EXPORT "${TARGETS_EXPORT_NAME}"
+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}")
diff --git a/security/libaegis/pkg-descr b/security/libaegis/pkg-descr
new file mode 100644
index 000000000000..6772942ab411
--- /dev/null
+++ b/security/libaegis/pkg-descr
@@ -0,0 +1,21 @@
+libaegis is a portable C implementations of the AEGIS family of high-performance
+authenticated ciphers (AEGIS-128L, AEGIS-128X2, AEGIS-128X4, AEGIS-256,
+AEGIS-256X2, AEGIS-256X4), with runtime CPU detection.
+
+Features:
+- AEGIS-128L with 16 and 32 bytes tags (software, AES-NI, ARM Crypto)
+- AEGIS-128X2 with 16 and 32 bytes tags (software, VAES + AVX2, AES-NI, ARM
+ Crypto)
+- AEGIS-128X4 with 16 and 32 bytes tags (software, AVX512, VAES + AVX2, AES-NI,
+ ARM Crypto)
+- AEGIS-256 with 16 and 32 bytes tags (software, AES-NI, ARM Crypto)
+- AEGIS-256X2 with 16 and 32 bytes tags (software, VAES + AVX2, AES-NI, ARM
+ Crypto)
+- AEGIS-256X4 with 16 and 32 bytes tags (software, AVX512, VAES + AVX2, AES-NI,
+ ARM Crypto)
+- All variants of AEGIS-MAC, supporting incremental updates.
+- Encryption and decryption with attached and detached tags
+- Incremental encryption and decryption.
+- Unauthenticated encryption and decryption (not recommended - only implemented
+ for specific protocols)
+- Deterministic pseudorandom stream generation.
diff --git a/security/libaegis/pkg-plist b/security/libaegis/pkg-plist
new file mode 100644
index 000000000000..9dfddbf52f9b
--- /dev/null
+++ b/security/libaegis/pkg-plist
@@ -0,0 +1,12 @@
+include/aegis.h
+include/aegis128l.h
+include/aegis128x2.h
+include/aegis128x4.h
+include/aegis256.h
+include/aegis256x2.h
+include/aegis256x4.h
+lib/libaegis.a
+lib/libaegis.so
+share/cmake/aegis/aegis-config.cmake
+share/cmake/aegis/aegis-targets-%%CMAKE_BUILD_TYPE%%.cmake
+share/cmake/aegis/aegis-targets.cmake