diff options
Diffstat (limited to 'vcpkg/ports/apsi')
| -rw-r--r-- | vcpkg/ports/apsi/fix-c2398.patch | 15 | ||||
| -rw-r--r-- | vcpkg/ports/apsi/fix-find-seal.patch | 13 | ||||
| -rw-r--r-- | vcpkg/ports/apsi/portfile.cmake | 46 | ||||
| -rw-r--r-- | vcpkg/ports/apsi/vcpkg.json | 60 |
4 files changed, 134 insertions, 0 deletions
diff --git a/vcpkg/ports/apsi/fix-c2398.patch b/vcpkg/ports/apsi/fix-c2398.patch new file mode 100644 index 0000000..b044e14 --- /dev/null +++ b/vcpkg/ports/apsi/fix-c2398.patch @@ -0,0 +1,15 @@ +diff --git a/sender/apsi/util/cuckoo_filter.cpp b/sender/apsi/util/cuckoo_filter.cpp
+index be5aead..e242796 100644
+--- a/sender/apsi/util/cuckoo_filter.cpp
++++ b/sender/apsi/util/cuckoo_filter.cpp
+@@ -246,8 +246,8 @@ CuckooFilter CuckooFilter::Load(istream &in, size_t &bytes_read)
+
+ bytes_read = in_data.size();
+ return CuckooFilter{ move(cuckoo_filter_table),
+- cuckoo_filter_fbs->num_items(),
+- cuckoo_filter_fbs->overflow()->index(),
++ static_cast<size_t>(cuckoo_filter_fbs->num_items()),
++ static_cast<size_t>(cuckoo_filter_fbs->overflow()->index()),
+ cuckoo_filter_fbs->overflow()->tag(),
+ cuckoo_filter_fbs->overflow()->used() };
+ }
diff --git a/vcpkg/ports/apsi/fix-find-seal.patch b/vcpkg/ports/apsi/fix-find-seal.patch new file mode 100644 index 0000000..21e0151 --- /dev/null +++ b/vcpkg/ports/apsi/fix-find-seal.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 78d54a6..4d3f338 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -122,7 +122,7 @@ set(APSI_INCLUDES_INSTALL_DIR ${CMAKE_INSTALL_INCLUDEDIR}/APSI-${APSI_VERSION_MA
+ # find_package might throw a FATAL_ERROR before"xxx: not found", e.g. with vcpkg.cmake.
+
+ # Microsoft SEAL
+-find_package(SEAL 4.1 QUIET REQUIRED)
++find_package(SEAL QUIET REQUIRED)
+ if(NOT SEAL_FOUND)
+ message(FATAL_ERROR "Microsoft SEAL: not found")
+ else()
diff --git a/vcpkg/ports/apsi/portfile.cmake b/vcpkg/ports/apsi/portfile.cmake new file mode 100644 index 0000000..e3b37ac --- /dev/null +++ b/vcpkg/ports/apsi/portfile.cmake @@ -0,0 +1,46 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO microsoft/APSI + REF "v${VERSION}" + SHA512 ad49e169970921175728705c6f5fe8062e74900a601ea25e9f836840a221175bfbb3169717787b1ca7e2e1a0b26630690dcef9bc91c0123877b856ea927e9e68 + HEAD_REF main + PATCHES + fix-find-seal.patch + fix-c2398.patch +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + log4cplus APSI_USE_LOG4CPLUS + zeromq APSI_USE_ZMQ +) + +set(CROSSCOMP_OPTIONS "") +if (VCPKG_CROSSCOMPILING) + if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(CROSSCOMP_OPTIONS -DAPSI_FOURQ_ARM64_EXITCODE=0 -DAPSI_FOURQ_ARM64_EXITCODE__TRYRUN_OUTPUT='') + endif() + if (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(CROSSCOMP_OPTIONS -DAPSI_FOURQ_AMD64_EXITCODE=0 -DHAVE_AVX_EXTENSIONS_EXITCODE=0 -DHAVE_AVX2_EXTENSIONS_EXITCODE=1) + endif() +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DCMAKE_FIND_PACKAGE_PREFER_CONFIG=ON + -DAPSI_BUILD_TESTS=OFF + -DAPSI_BUILD_CLI=OFF + ${FEATURE_OPTIONS} + ${CROSSCOMP_OPTIONS} +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/APSI-0.11") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/vcpkg/ports/apsi/vcpkg.json b/vcpkg/ports/apsi/vcpkg.json new file mode 100644 index 0000000..4616fb5 --- /dev/null +++ b/vcpkg/ports/apsi/vcpkg.json @@ -0,0 +1,60 @@ +{ + "name": "apsi", + "version-semver": "0.11.0", + "description": "APSI is a research library for asymmetric private set intersection.", + "homepage": "https://github.com/microsoft/APSI", + "license": "MIT", + "dependencies": [ + "flatbuffers", + "jsoncpp", + "kuku", + { + "name": "seal", + "default-features": false, + "features": [ + "ms-gsl", + "no-throw-tran", + "zstd" + ] + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + "log4cplus", + "zeromq" + ], + "features": { + "hexl": { + "description": "Use IntelĀ® HEXL to accelerate Microsoft SEAL.", + "dependencies": [ + { + "name": "seal", + "features": [ + "hexl" + ], + "platform": "x64" + } + ] + }, + "log4cplus": { + "description": "Use log4cplus for logging.", + "dependencies": [ + "log4cplus" + ] + }, + "zeromq": { + "description": "Use ZeroMQ for networking.", + "dependencies": [ + "cppzmq", + "zeromq" + ] + } + } +} |