aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/seal
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/seal
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/seal')
-rw-r--r--vcpkg/ports/seal/fix-hexl.patch13
-rw-r--r--vcpkg/ports/seal/portfile.cmake53
-rw-r--r--vcpkg/ports/seal/shared-zstd.patch13
-rw-r--r--vcpkg/ports/seal/vcpkg.json51
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"
+ ]
+ }
+ }
+}