diff options
Diffstat (limited to 'vcpkg/ports/seal')
| -rw-r--r-- | vcpkg/ports/seal/fix-hexl.patch | 13 | ||||
| -rw-r--r-- | vcpkg/ports/seal/portfile.cmake | 53 | ||||
| -rw-r--r-- | vcpkg/ports/seal/shared-zstd.patch | 13 | ||||
| -rw-r--r-- | vcpkg/ports/seal/vcpkg.json | 51 |
4 files changed, 130 insertions, 0 deletions
diff --git a/vcpkg/ports/seal/fix-hexl.patch b/vcpkg/ports/seal/fix-hexl.patch new file mode 100644 index 0000000..ddc797d --- /dev/null +++ b/vcpkg/ports/seal/fix-hexl.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index edf69a3..e64672e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -223,7 +223,7 @@ if(SEAL_USE_INTEL_HEXL) + message(STATUS "Intel HEXL: download ...") + seal_fetch_thirdparty_content(ExternalIntelHEXL) + else() +- find_package(HEXL 1.2.4) ++ find_package(HEXL CONFIG REQUIRED) + if (NOT TARGET HEXL::hexl) + message(FATAL_ERROR "Intel HEXL: not found") + endif() diff --git a/vcpkg/ports/seal/portfile.cmake b/vcpkg/ports/seal/portfile.cmake new file mode 100644 index 0000000..5ecd182 --- /dev/null +++ b/vcpkg/ports/seal/portfile.cmake @@ -0,0 +1,53 @@ +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO microsoft/SEAL + REF "v${VERSION}" + SHA512 8e97e8106ae2eeceee743634b0db1936b3a3a1381ceceb5646f6de8008d2147cdc9b847219dafd7d8b8f7457e63c7463f155694e8a192d13531171b468e8f365 + HEAD_REF main + PATCHES + shared-zstd.patch + fix-hexl.patch +) + +vcpkg_replace_string( + "${SOURCE_PATH}/cmake/CheckCXXIntrinsicsSpecific.cmake" + "check_cxx_source_runs" + "check_cxx_source_compiles" +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + ms-gsl SEAL_USE_MSGSL + zlib SEAL_USE_ZLIB + zstd SEAL_USE_ZSTD + hexl SEAL_USE_INTEL_HEXL + INVERTED_FEATURES + no-throw-tran SEAL_THROW_ON_TRANSPARENT_CIPHERTEXT +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DSEAL_BUILD_DEPS=OFF + -DSEAL_BUILD_EXAMPLES=OFF + -DSEAL_BUILD_TESTS=OFF + -DSEAL_BUILD_SEAL_C=OFF + ${FEATURE_OPTIONS} +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/SEAL-4.1) + +# provides pkgconfig files only on UNIX +if(NOT VCPKG_TARGET_IS_WINDOWS) + vcpkg_fixup_pkgconfig() +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/vcpkg/ports/seal/shared-zstd.patch b/vcpkg/ports/seal/shared-zstd.patch new file mode 100644 index 0000000..b8515fb --- /dev/null +++ b/vcpkg/ports/seal/shared-zstd.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 4cc8a01..b8c92c2 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -205,7 +205,7 @@ if(SEAL_USE_ZSTD)
+ message(FATAL_ERROR "Zstandard: must be static")
+ endif()
+ elseif(TARGET zstd::libzstd_shared)
+- message(FATAL_ERROR "Zstandard: must be static")
++ set(zstd_static "zstd::libzstd_shared")
+ else()
+ message(FATAL_ERROR "Zstandard: not found")
+ endif()
diff --git a/vcpkg/ports/seal/vcpkg.json b/vcpkg/ports/seal/vcpkg.json new file mode 100644 index 0000000..1144416 --- /dev/null +++ b/vcpkg/ports/seal/vcpkg.json @@ -0,0 +1,51 @@ +{ + "name": "seal", + "version": "4.1.2", + "description": "Microsoft SEAL is an easy-to-use and powerful homomorphic encryption library.", + "homepage": "https://github.com/microsoft/SEAL", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + "ms-gsl", + "zlib", + "zstd" + ], + "features": { + "hexl": { + "description": "Use IntelĀ® HEXL for acceleration of low-level kernels.", + "dependencies": [ + "hexl" + ] + }, + "ms-gsl": { + "description": "Use ms-gsl for span view", + "dependencies": [ + "ms-gsl" + ] + }, + "no-throw-tran": { + "description": "Do not throw when operating on transparent ciphertexts" + }, + "zlib": { + "description": "Use zlib for compressed serialization", + "dependencies": [ + "zlib" + ] + }, + "zstd": { + "description": "Use zstd for compressed serialization", + "dependencies": [ + "zstd" + ] + } + } +} |