Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 Dec 2019 22:56:37 +0000 (UTC)
From:      Yuri Victorovich <yuri@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r520530 - in head/security: . palisade palisade/files
Message-ID:  <201912202256.xBKMub45052327@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: yuri
Date: Fri Dec 20 22:56:37 2019
New Revision: 520530
URL: https://svnweb.freebsd.org/changeset/ports/520530

Log:
  New port: security/palisade: PALISADE lattice cryptography library

Added:
  head/security/palisade/
  head/security/palisade/Makefile   (contents, props changed)
  head/security/palisade/distinfo   (contents, props changed)
  head/security/palisade/files/
  head/security/palisade/files/patch-CMakeLists.txt   (contents, props changed)
  head/security/palisade/files/patch-third-party_google-benchmark_CMakeLists.txt   (contents, props changed)
  head/security/palisade/files/patch-third-party_google-benchmark_test_CMakeLists.txt   (contents, props changed)
  head/security/palisade/pkg-descr   (contents, props changed)
  head/security/palisade/pkg-plist   (contents, props changed)
Modified:
  head/security/Makefile

Modified: head/security/Makefile
==============================================================================
--- head/security/Makefile	Fri Dec 20 22:02:20 2019	(r520529)
+++ head/security/Makefile	Fri Dec 20 22:56:37 2019	(r520530)
@@ -713,6 +713,7 @@
     SUBDIR += p5-openxpki-i18n
     SUBDIR += p5-plog
     SUBDIR += pad
+    SUBDIR += palisade
     SUBDIR += pam-modules
     SUBDIR += pam-mysql
     SUBDIR += pam-pgsql

Added: head/security/palisade/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/security/palisade/Makefile	Fri Dec 20 22:56:37 2019	(r520530)
@@ -0,0 +1,38 @@
+# $FreeBSD$
+
+PORTNAME=	palisade
+DISTVERSIONPREFIX=	v
+DISTVERSION=	1.7.0.b.20191219
+CATEGORIES=	security math
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	PALISADE lattice cryptography library
+
+LICENSE=	BSD2CLAUSE
+LICENSE_FILE=	${WRKSRC}/License.md
+
+BUILD_DEPENDS=	autoconf:devel/autoconf # possibly a mistake in the project
+
+USES=		cmake:noninja localbase
+USE_GITLAB=	yes
+USE_GITHUB=	nodefault
+GL_PROJECT=	palisade-development
+GL_COMMIT=	db57986b98596b176ca4d1f8426fb4d9af35515c
+GH_TUPLE=	\
+		JerryRyan:cereal:181fbcd3:cereal/third-party/cereal \
+		google:benchmark:c50ac68c:benchmark/third-party/google-benchmark \
+		google:googletest:78fdd6c0:google_test/third-party/google-test \
+		gperftools:gperftools:c1d546d7:gperftools/third-party/gperftools
+USE_GCC=	any # clang fails: fatal error: 'quadmath.h' file not found
+USE_LDCONFIG=	yes
+
+TEST_TARGET=	testall
+
+CMAKE_ON=	BUILD_TESTING
+
+CXXFLAGS+=	-I${WRKSRC}/third-party/google-test/googletest
+
+post-extract: # post-extract to not interfere with patches in files/, see https://gitlab.com/palisade/palisade-release/issues/4
+	@${FIND} ${WRKSRC} -name CMakeLists.txt | ${XARGS} ${REINPLACE_CMD} -e 's|DESTINATION palisade/|DESTINATION |'
+
+.include <bsd.port.mk>

Added: head/security/palisade/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/security/palisade/distinfo	Fri Dec 20 22:56:37 2019	(r520530)
@@ -0,0 +1,11 @@
+TIMESTAMP = 1576786538
+SHA256 (JerryRyan-cereal-181fbcd3_GH0.tar.gz) = 1a8a1dc36eb4a409c301885b74017b4074e1e338c629f1761db8198680a83675
+SIZE (JerryRyan-cereal-181fbcd3_GH0.tar.gz) = 345404
+SHA256 (google-benchmark-c50ac68c_GH0.tar.gz) = 82d15f9bd07df524c455aeecc8b496045230c326989acc22a9a1d5ef231dc210
+SIZE (google-benchmark-c50ac68c_GH0.tar.gz) = 152333
+SHA256 (google-googletest-78fdd6c0_GH0.tar.gz) = 11aaf9577e1623d7857b46b5230924d848e96310e2847a8d80f47252d27c95b1
+SIZE (google-googletest-78fdd6c0_GH0.tar.gz) = 874422
+SHA256 (gperftools-gperftools-c1d546d7_GH0.tar.gz) = cc00b738497234a131749dd96a11d47f90df29b6bec426005164597c2ff4e4c5
+SIZE (gperftools-gperftools-c1d546d7_GH0.tar.gz) = 925949
+SHA256 (palisade-palisade-development-db57986b98596b176ca4d1f8426fb4d9af35515c_GL0.tar.gz) = 8ceecd36bf18f9d57c95a632a2af27e5d7308b309bde02d10e3441bf0c7aa60c
+SIZE (palisade-palisade-development-db57986b98596b176ca4d1f8426fb4d9af35515c_GL0.tar.gz) = 4437903

Added: head/security/palisade/files/patch-CMakeLists.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/security/palisade/files/patch-CMakeLists.txt	Fri Dec 20 22:56:37 2019	(r520530)
@@ -0,0 +1,59 @@
+--- CMakeLists.txt.orig	2019-12-20 22:38:49 UTC
++++ CMakeLists.txt
+@@ -183,7 +183,7 @@ set(COMPILEFLAGS "-Wall -Werror -O3 -DPALISADE_VERSION
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${COMPILEFLAGS}")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COMPILEFLAGS}")
+ 
+-find_package (Git REQUIRED)
++find_package (Git)
+ 
+ find_package (Doxygen QUIET COMPONENTS dot)
+ if (DOXYGEN_FOUND)
+@@ -209,7 +209,9 @@ include_directories( ${THIRDPARTYDIR}/include )
+ include_directories( ${THIRDPARTYDIR}/cereal/include )
+ install(DIRECTORY ${THIRDPARTYDIR}/cereal/include/ DESTINATION include)
+ 
++if (BUILD_TESTING)
+ include_directories( third-party/google-test/googletest third-party/google-test/googletest/include )
++endif()
+ include_directories( ${CMAKE_CURRENT_BINARY_DIR}/third-party/include )
+ 
+ ## for tests
+@@ -426,15 +428,21 @@ add_subdirectory(src/signature)
+ add_subdirectory(src/binfhe)
+ 
+ ### build the google test handlers
++if (BUILD_TESTING)
+ add_subdirectory(third-party/google-test EXCLUDE_FROM_ALL)
++endif()
+ 
+ ### build the google benchmark handlers (just the parts we need)
++if (BUILD_TESTING)
+ set(BENCHMARK_ENABLE_TESTING OFF CACHE BOOL "Enable testing of the benchmark library." FORCE)
+ set(BENCHMARK_ENABLE_INSTALL OFF CACHE BOOL "Enable installation of benchmark. (Projects embedding benchmark may want to turn this OFF.)" FORCE)
+ set(BENCHMARK_ENABLE_GTEST_TESTS OFF CACHE BOOL "Enable building the unit tests which depend on gtest" FORCE)
+ add_subdirectory(third-party/google-benchmark EXCLUDE_FROM_ALL)
++endif()
+ 
++if (BUILD_TESTING)
+ add_subdirectory(benchmark)
++endif()
+ 
+ ## clobber cleans AND cleans the third-party stuff
+ add_custom_target( clobber DEPENDS gmp_clobber ntl_clobber
+@@ -442,6 +450,7 @@ add_custom_target( clobber DEPENDS gmp_clobber ntl_clo
+         WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ )
+ 
++if (BUILD_TESTING)
+ add_custom_target( testall
+ 	DEPENDS core_tests pke_tests abe_tests signature_tests binfhe_tests
+ 	COMMAND echo core: && unittest/core_tests -t
+@@ -450,6 +459,7 @@ add_custom_target( testall
+ 	COMMAND echo signature: && unittest/signature_tests -t
+ 	COMMAND echo binfhe: && unittest/binfhe_tests -t
+ )
++endif()
+ 
+ add_custom_target( alldemos 
+ 	DEPENDS allcoredemos allpkedemos allabedemos allsignaturedemos allbinfhedemos

Added: head/security/palisade/files/patch-third-party_google-benchmark_CMakeLists.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/security/palisade/files/patch-third-party_google-benchmark_CMakeLists.txt	Fri Dec 20 22:56:37 2019	(r520530)
@@ -0,0 +1,11 @@
+--- third-party/google-benchmark/CMakeLists.txt.orig	2019-12-20 21:44:46 UTC
++++ third-party/google-benchmark/CMakeLists.txt
+@@ -258,7 +258,7 @@ endif()
+ cxx_feature_check(STEADY_CLOCK)
+ # Ensure we have pthreads
+ set(THREADS_PREFER_PTHREAD_FLAG ON)
+-find_package(Threads REQUIRED)
++find_package(Threads)
+ 
+ # Set up directories
+ include_directories(${PROJECT_SOURCE_DIR}/include)

Added: head/security/palisade/files/patch-third-party_google-benchmark_test_CMakeLists.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/security/palisade/files/patch-third-party_google-benchmark_test_CMakeLists.txt	Fri Dec 20 22:56:37 2019	(r520530)
@@ -0,0 +1,10 @@
+--- third-party/google-benchmark/test/CMakeLists.txt.orig	2019-12-20 21:45:20 UTC
++++ third-party/google-benchmark/test/CMakeLists.txt
+@@ -1,6 +1,6 @@
+ # Enable the tests
+ 
+-find_package(Threads REQUIRED)
++find_package(Threads)
+ include(CheckCXXCompilerFlag)
+ 
+ # NOTE: Some tests use `<cassert>` to perform the test. Therefore we must

Added: head/security/palisade/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/security/palisade/pkg-descr	Fri Dec 20 22:56:37 2019	(r520530)
@@ -0,0 +1,11 @@
+PALISADE is a general lattice cryptography library that currently includes
+efficient implementations of the following lattice cryptography capabilities:
+
+* Homomorphic Encryption (HE): Brakerski/Fan-Vercauteren (3 variants),
+  Brakerski-Gentry-Vaikuntanathan, and Stehle-Steinfeld schemes
+* Proxy Re-Encryption for all HE schemes
+* Digital Signature
+* Identity-Based Encryption
+* Ciphertext-Policy Attribute-Based Encryption
+
+WWW: https://gitlab.com/palisade/palisade-release

Added: head/security/palisade/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/security/palisade/pkg-plist	Fri Dec 20 22:56:37 2019	(r520530)
@@ -0,0 +1,220 @@
+include/abe/abecontext.h
+include/abe/abecore.h
+include/abe/abeparamset.h
+include/abe/cpabe.h
+include/abe/ibe.h
+include/binfhe/binfhecontext-ser.h
+include/binfhe/binfhecontext.h
+include/binfhe/fhew.h
+include/binfhe/lwe.h
+include/binfhe/lwecore.h
+include/binfhe/ringcore.h
+include/cereal/access.hpp
+include/cereal/archives/adapters.hpp
+include/cereal/archives/binary.hpp
+include/cereal/archives/json.hpp
+include/cereal/archives/portable_binary.hpp
+include/cereal/archives/xml.hpp
+include/cereal/cereal.hpp
+include/cereal/details/helpers.hpp
+include/cereal/details/polymorphic_impl.hpp
+include/cereal/details/polymorphic_impl_fwd.hpp
+include/cereal/details/static_object.hpp
+include/cereal/details/traits.hpp
+include/cereal/details/util.hpp
+include/cereal/external/base64.hpp
+include/cereal/external/rapidjson/allocators.h
+include/cereal/external/rapidjson/document.h
+include/cereal/external/rapidjson/encodedstream.h
+include/cereal/external/rapidjson/encodings.h
+include/cereal/external/rapidjson/error/en.h
+include/cereal/external/rapidjson/error/error.h
+include/cereal/external/rapidjson/filereadstream.h
+include/cereal/external/rapidjson/filewritestream.h
+include/cereal/external/rapidjson/fwd.h
+include/cereal/external/rapidjson/internal/biginteger.h
+include/cereal/external/rapidjson/internal/diyfp.h
+include/cereal/external/rapidjson/internal/dtoa.h
+include/cereal/external/rapidjson/internal/ieee754.h
+include/cereal/external/rapidjson/internal/itoa.h
+include/cereal/external/rapidjson/internal/meta.h
+include/cereal/external/rapidjson/internal/pow10.h
+include/cereal/external/rapidjson/internal/regex.h
+include/cereal/external/rapidjson/internal/stack.h
+include/cereal/external/rapidjson/internal/strfunc.h
+include/cereal/external/rapidjson/internal/strtod.h
+include/cereal/external/rapidjson/internal/swap.h
+include/cereal/external/rapidjson/istreamwrapper.h
+include/cereal/external/rapidjson/memorybuffer.h
+include/cereal/external/rapidjson/memorystream.h
+include/cereal/external/rapidjson/msinttypes/inttypes.h
+include/cereal/external/rapidjson/msinttypes/stdint.h
+include/cereal/external/rapidjson/ostreamwrapper.h
+include/cereal/external/rapidjson/pointer.h
+include/cereal/external/rapidjson/prettywriter.h
+include/cereal/external/rapidjson/rapidjson.h
+include/cereal/external/rapidjson/reader.h
+include/cereal/external/rapidjson/schema.h
+include/cereal/external/rapidjson/stream.h
+include/cereal/external/rapidjson/stringbuffer.h
+include/cereal/external/rapidjson/writer.h
+include/cereal/external/rapidxml/license.txt
+include/cereal/external/rapidxml/manual.html
+include/cereal/external/rapidxml/rapidxml.hpp
+include/cereal/external/rapidxml/rapidxml_iterators.hpp
+include/cereal/external/rapidxml/rapidxml_print.hpp
+include/cereal/external/rapidxml/rapidxml_utils.hpp
+include/cereal/macros.hpp
+include/cereal/types/array.hpp
+include/cereal/types/atomic.hpp
+include/cereal/types/base_class.hpp
+include/cereal/types/bitset.hpp
+include/cereal/types/boost_variant.hpp
+include/cereal/types/chrono.hpp
+include/cereal/types/common.hpp
+include/cereal/types/complex.hpp
+include/cereal/types/concepts/pair_associative_container.hpp
+include/cereal/types/deque.hpp
+include/cereal/types/forward_list.hpp
+include/cereal/types/functional.hpp
+include/cereal/types/list.hpp
+include/cereal/types/map.hpp
+include/cereal/types/memory.hpp
+include/cereal/types/optional.hpp
+include/cereal/types/polymorphic.hpp
+include/cereal/types/queue.hpp
+include/cereal/types/set.hpp
+include/cereal/types/stack.hpp
+include/cereal/types/string.hpp
+include/cereal/types/tuple.hpp
+include/cereal/types/unordered_map.hpp
+include/cereal/types/unordered_set.hpp
+include/cereal/types/utility.hpp
+include/cereal/types/valarray.hpp
+include/cereal/types/variant.hpp
+include/cereal/types/vector.hpp
+include/cereal/version.hpp
+include/core/encoding/ckkspackedencoding.h
+include/core/encoding/coefpackedencoding.h
+include/core/encoding/encodingparams.h
+include/core/encoding/encodings.h
+include/core/encoding/fractionalencoding.h
+include/core/encoding/integerencoding.h
+include/core/encoding/packedencoding.h
+include/core/encoding/plaintext.h
+include/core/encoding/plaintextfactory.h
+include/core/encoding/scalarencoding.h
+include/core/encoding/stringencoding.h
+include/core/lattice/backend.h
+include/core/lattice/dcrtpoly.h
+include/core/lattice/dgsampling.h
+include/core/lattice/elemparamfactory.h
+include/core/lattice/elemparams.h
+include/core/lattice/field2n.h
+include/core/lattice/ildcrtparams.h
+include/core/lattice/ilelement.h
+include/core/lattice/ilparams.h
+include/core/lattice/poly.h
+include/core/lattice/stdlatticeparms.h
+include/core/lattice/trapdoor.h
+include/core/lattice/trapdoorparameters.h
+include/core/math/armquadmath.h
+include/core/math/backend.h
+include/core/math/binaryuniformgenerator.h
+include/core/math/cpu_int/binint.h
+include/core/math/cpu_int/binvect.h
+include/core/math/cpu_int/dtstruct.h
+include/core/math/dftransfrm.h
+include/core/math/discretegaussiangenerator.h
+include/core/math/discretegaussiangeneratorgeneric.h
+include/core/math/discreteuniformgenerator.h
+include/core/math/distrgen.h
+include/core/math/distributiongenerator.h
+include/core/math/exp_int/mubintvec.h
+include/core/math/exp_int/ubint.h
+include/core/math/gmp_int/gmpint.h
+include/core/math/gmp_int/mgmpintvec.h
+include/core/math/interface.h
+include/core/math/matrix.h
+include/core/math/matrixstrassen.h
+include/core/math/native_int/binint.h
+include/core/math/native_int/binvect.h
+include/core/math/nbtheory.h
+include/core/math/quadfloat.h
+include/core/math/ternaryuniformgenerator.h
+include/core/math/transfrm.h
+include/core/palisadecore.h
+include/core/utils/aesutil.h
+include/core/utils/blockAllocator/blockAllocator.h
+include/core/utils/blockAllocator/stl_allocator.h
+include/core/utils/blockAllocator/xallocator.h
+include/core/utils/blockAllocator/xlist.h
+include/core/utils/blockAllocator/xmap.h
+include/core/utils/blockAllocator/xqueue.h
+include/core/utils/blockAllocator/xset.h
+include/core/utils/blockAllocator/xsstream.h
+include/core/utils/blockAllocator/xstring.h
+include/core/utils/blockAllocator/xvector.h
+include/core/utils/debug.h
+include/core/utils/exception.h
+include/core/utils/hashutil.h
+include/core/utils/inttypes.h
+include/core/utils/memory.h
+include/core/utils/palisadebase64.h
+include/core/utils/parallel.h
+include/core/utils/parmfactory.h
+include/core/utils/serial.h
+include/core/utils/serializable.h
+include/core/utils/serialize-binary.h
+include/core/utils/serialize-json.h
+include/core/utils/sertype.h
+include/core/utils/testcasegen.h
+include/core/utils/utilities.h
+include/core/version.h
+include/pke/ciphertext-ser.h
+include/pke/ciphertext.h
+include/pke/cryptocontext-ser.h
+include/pke/cryptocontext.h
+include/pke/cryptocontextgen.h
+include/pke/cryptocontexthelper.h
+include/pke/cryptocontextparametersets.h
+include/pke/cryptotiming.h
+include/pke/palisade.h
+include/pke/pubkeylp-ser.h
+include/pke/pubkeylp.h
+include/pke/rationalciphertext.h
+include/pke/rationalct-ser.h
+include/pke/scheme/allscheme.h
+include/pke/scheme/bfv/bfv-ser.h
+include/pke/scheme/bfv/bfv.h
+include/pke/scheme/bfvrns/bfvrns-ser.h
+include/pke/scheme/bfvrns/bfvrns.h
+include/pke/scheme/bfvrnsb/bfvrnsB-ser.h
+include/pke/scheme/bfvrnsb/bfvrnsB.h
+include/pke/scheme/bgv/bgv-ser.h
+include/pke/scheme/bgv/bgv.h
+include/pke/scheme/ckks/ckks-ser.h
+include/pke/scheme/ckks/ckks.h
+include/pke/scheme/null/nullscheme-ser.h
+include/pke/scheme/null/nullscheme.h
+include/pke/scheme/rlwe.h
+include/pke/scheme/stst/stst-ser.h
+include/pke/scheme/stst/stst.h
+include/signature/gpv.h
+include/signature/signaturecontext.h
+include/signature/signaturecore.h
+lib/libPALISADEabe.so
+lib/libPALISADEabe.so.1
+lib/libPALISADEabe.so.1.7.b
+lib/libPALISADEbinfhe.so
+lib/libPALISADEbinfhe.so.1
+lib/libPALISADEbinfhe.so.1.7.b
+lib/libPALISADEcore.so
+lib/libPALISADEcore.so.1
+lib/libPALISADEcore.so.1.7.b
+lib/libPALISADEpke.so
+lib/libPALISADEpke.so.1
+lib/libPALISADEpke.so.1.7.b
+lib/libPALISADEsignature.so
+lib/libPALISADEsignature.so.1
+lib/libPALISADEsignature.so.1.7.b



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201912202256.xBKMub45052327>