1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-26 09:46:09 +00:00

security/hexl: New port: Intel homomorphic encryption acceleration library

This commit is contained in:
Yuri Victorovich 2021-10-07 01:10:04 -07:00
parent 83ab0870a9
commit e7fe691601
6 changed files with 96 additions and 0 deletions

View File

@ -221,6 +221,7 @@
SUBDIR += heaan
SUBDIR += heimdal
SUBDIR += helib
SUBDIR += hexl
SUBDIR += highwayhash
SUBDIR += hitch
SUBDIR += hlfl

25
security/hexl/Makefile Normal file
View File

@ -0,0 +1,25 @@
PORTNAME= hexl
DISTVERSIONPREFIX= v
DISTVERSION= 1.2.1
CATEGORIES= security
MAINTAINER= yuri@FreeBSD.org
COMMENT= Intel homomorphic encryption acceleration library
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE
LIB_DEPENDS= libcpu_features.so:devel/cpu_features
USES= cmake:testing compiler:c++11-lang localbase:ldflags
USE_LDCONFIG= yes
USE_GITHUB= yes
GH_ACCOUNT= intel
CMAKE_ON= HEXL_SHARED_LIB
CMAKE_OFF= HEXL_BENCHMARK HEXL_TESTING
CMAKE_TESTING_ON= HEXL_TESTING
CMAKE_TESTING_TARGET= unittest
.include <bsd.port.mk>

3
security/hexl/distinfo Normal file
View File

@ -0,0 +1,3 @@
TIMESTAMP = 1633592608
SHA256 (intel-hexl-v1.2.1_GH0.tar.gz) = d09f4bf5309f4fa13f0046475f77e8c5a065d7b9c726eba2d3d943fc13cdae1a
SIZE (intel-hexl-v1.2.1_GH0.tar.gz) = 94892

View File

@ -0,0 +1,30 @@
- workaround for hexl's failure to find cpu_features
--- CMakeLists.txt.orig 2021-10-07 07:53:10 UTC
+++ CMakeLists.txt
@@ -137,17 +137,17 @@ message(STATUS "CMAKE_INSTALL_PREFIX: ${CMAKE_INST
#------------------------------------------------------------------------------
# Third-party code...
#------------------------------------------------------------------------------
-find_package(CpuFeatures CONFIG)
-if (NOT CpuFeatures_FOUND)
+#find_package(CpuFeatures CONFIG)
+if (FALSE AND NOT CpuFeatures_FOUND)
message(STATUS "CpuFeatures: pre-installed CpuFeatures not found")
add_subdirectory(cmake/third-party/cpu-features)
else()
- message(STATUS "CpuFeatures: found")
- add_library(cpu_features ALIAS CpuFeatures::cpu_features)
- get_target_property(
- CpuFeatures_INCLUDE_DIR
- CpuFeatures::cpu_features
- INTERFACE_INCLUDE_DIRECTORIES)
+# message(STATUS "CpuFeatures: found")
+# add_library(cpu_features ALIAS CpuFeatures::cpu_features)
+# get_target_property(
+# CpuFeatures_INCLUDE_DIR
+# CpuFeatures::cpu_features
+# INTERFACE_INCLUDE_DIRECTORIES)
endif()
if (HEXL_TESTING OR HEXL_BENCHMARK OR HEXL_DEBUG)

7
security/hexl/pkg-descr Normal file
View File

@ -0,0 +1,7 @@
Intel HEXL is an open-source library which provides efficient implementations of
integer arithmetic on Galois fields. Such arithmetic is prevalent in
cryptography, particularly in homomorphic encryption (HE) schemes. Intel HEXL
targets integer arithmetic with word-sized primes, typically 30-60 bits. Intel
HEXL provides an API for 64-bit unsigned integers and targets Intel CPUs.
WWW: https://intel.github.io/hexl/v1.2.1/doxygen/html/index.html

30
security/hexl/pkg-plist Normal file
View File

@ -0,0 +1,30 @@
include/hexl/eltwise/eltwise-add-mod.hpp
include/hexl/eltwise/eltwise-cmp-add.hpp
include/hexl/eltwise/eltwise-cmp-sub-mod.hpp
include/hexl/eltwise/eltwise-fma-mod.hpp
include/hexl/eltwise/eltwise-mult-mod.hpp
include/hexl/eltwise/eltwise-reduce-mod.hpp
include/hexl/eltwise/eltwise-sub-mod.hpp
include/hexl/experimental/seal/ckks-multiply.hpp
include/hexl/experimental/seal/ckks-switch-key.hpp
include/hexl/hexl.hpp
include/hexl/logging/logging.hpp
include/hexl/ntt/ntt.hpp
include/hexl/number-theory/number-theory.hpp
include/hexl/util/aligned-allocator.hpp
include/hexl/util/allocator.hpp
include/hexl/util/check.hpp
include/hexl/util/clang.hpp
include/hexl/util/compiler.hpp
include/hexl/util/defines.hpp
include/hexl/util/gcc.hpp
include/hexl/util/msvc.hpp
include/hexl/util/types.hpp
include/hexl/util/util.hpp
lib/cmake/hexl-1.2.1/HEXLConfig.cmake
lib/cmake/hexl-1.2.1/HEXLConfigVersion.cmake
lib/cmake/hexl-1.2.1/HEXLTargets-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/hexl-1.2.1/HEXLTargets.cmake
lib/libhexl.so
lib/libhexl.so.1.2.1
libdata/pkgconfig/hexl.pc