blob: b6425bbfbfbb1433a71245c5322bafe7a22c6836 [file] [log] [blame]
{
"name": "bls-signatures-pod",
"version": "0.1.9",
"summary": "BLS signatures in C++, using the relic toolkit",
"description": "Implements BLS signatures with aggregation as in Boneh, Drijvers, Neven 2018, using relic toolkit for cryptographic primitives (pairings, EC, hashing). The BLS12-381 curve is used.",
"homepage": "https://github.com/Chia-Network/bls-signatures",
"license": {
"type": "Apache License 2.0"
},
"authors": {
"Chia Network": "hello@chia.net"
},
"social_media_url": "https://twitter.com/ChiaNetworkInc",
"source": {
"git": "https://github.com/Chia-Network/bls-signatures.git",
"commit": "f37e5bb0901a14a45c3d3195cc49029cff340bc2",
"submodules": true
},
"prepare_command": "RELIC_ARM_TARGET_DIR=\"relic-target-arm\"\n RELIC_ARMV7S_TARGET_DIR=\"relic-target-armv7s\"\n RELIC_X64_TARGET_DIR=\"relic-target-x86\"\n RELIC_I386_TARGET_DIR=\"relic-target-i386\"\n\n BLS_ARM_TARGET_DIR=\"bls-target-arm\"\n BLS_ARMV7S_TARGET_DIR=\"bls-target-armv7s\"\n BLS_X64_TARGET_DIR=\"bls-target-x86\"\n BLS_I386_TARGET_DIR=\"bls-target-i386\"\n\n\n # build relic\n\n pushd contrib/relic\n\n SHA256_HASH=\"f01aec9c094be1cd00d094c83c14bb2730a0741f845c78e8568884bcbdcd3204\"\n curl -o ios.toolchain.cmake https://raw.githubusercontent.com/leetal/ios-cmake/6ea5db18f9a05b4103e2aca665374b94c119fbed/ios.toolchain.cmake\n DOWNLOADED_HASH=`shasum -a 256 ios.toolchain.cmake | cut -f 1 -d \" \"`\n if [ $SHA256_HASH != $DOWNLOADED_HASH ]; then\n echo \"Error: sha256 checksum of ios.toolchain.cmake mismatch\" >&2\n exit 1\n fi\n\n\n mkdir \"$RELIC_ARM_TARGET_DIR\"\n pushd \"$RELIC_ARM_TARGET_DIR\"\n\n export CC=`xcrun --sdk iphoneos --find clang`\n\n ARCHFLAGS=\"-arch arm64\"\n SYSROOT=`xcrun --sdk iphoneos --show-sdk-path`\n\n cmake -DTESTS=0 -DBENCH=0 -DCHECK=off -DARITH=easy -DFP_PRIME=381 -DFP_QNRES=off -DFP_METHD=\"INTEG;INTEG;INTEG;MONTY;LOWER;SLIDE\" -DFPX_METHD=\"INTEG;INTEG;LAZYR\" -DPP_METHD=\"LAZYR;OATEP\" -DCOMP=\"-O3 -funroll-loops -fomit-frame-pointer $INCLUDES -isysroot $SYSROOT $ARCHFLAGS -fembed-bitcode\" -DWSIZE=64 -DVERBS=off -DSHLIB=off -DALLOC=\"AUTO\" -DDSEED=\"UDEV\" -DEP_PLAIN=off -DEP_SUPER=off -DPP_EXT=\"LAZYR\" -DTIMER=\"HREAL\" -DARCH=ARM -DOPSYS=NONE -DIOS_PLATFORM=OS64 -DCMAKE_TOOLCHAIN_FILE=../ios.toolchain.cmake ../\n make\n\n popd # \"$RELIC_ARM_TARGET_DIR\"\n\n\n mkdir \"$RELIC_ARMV7S_TARGET_DIR\"\n pushd \"$RELIC_ARMV7S_TARGET_DIR\"\n\n export CC=`xcrun --sdk iphoneos --find clang`\n\n ARCHFLAGS=\"-arch armv7s\"\n SYSROOT=`xcrun --sdk iphoneos --show-sdk-path`\n\n cmake -DTESTS=0 -DBENCH=0 -DCHECK=off -DARITH=easy -DFP_PRIME=381 -DFP_QNRES=off -DFP_METHD=\"INTEG;INTEG;INTEG;MONTY;LOWER;SLIDE\" -DFPX_METHD=\"INTEG;INTEG;LAZYR\" -DPP_METHD=\"LAZYR;OATEP\" -DCOMP=\"-O3 -funroll-loops -fomit-frame-pointer $INCLUDES -isysroot $SYSROOT $ARCHFLAGS -fembed-bitcode\" -DWSIZE=32 -DVERBS=off -DSHLIB=off -DALLOC=\"AUTO\" -DDSEED=\"UDEV\" -DEP_PLAIN=off -DEP_SUPER=off -DPP_EXT=\"LAZYR\" -DTIMER=\"HREAL\" -DARCH=ARM -DOPSYS=NONE -DIOS_PLATFORM=OS -DIOS_ARCH=armv7s -DCMAKE_TOOLCHAIN_FILE=../ios.toolchain.cmake ../\n make\n\n popd # \"$RELIC_ARMV7S_TARGET_DIR\"\n\n\n mkdir \"$RELIC_X64_TARGET_DIR\"\n pushd \"$RELIC_X64_TARGET_DIR\"\n\n unset CC\n export CC=`xcrun --sdk macosx --find clang`\n\n ARCHFLAGS=\"-arch x86_64\"\n SYSROOT=`xcrun --sdk macosx --show-sdk-path`\n\n cmake -DTESTS=0 -DBENCH=0 -DCHECK=off -DARITH=easy -DFP_PRIME=381 -DFP_QNRES=off -DFP_METHD=\"INTEG;INTEG;INTEG;MONTY;LOWER;SLIDE\" -DFPX_METHD=\"INTEG;INTEG;LAZYR\" -DPP_METHD=\"LAZYR;OATEP\" -DCOMP=\"-O3 -funroll-loops -fomit-frame-pointer $INCLUDES -isysroot $SYSROOT $ARCHFLAGS -fembed-bitcode\" -DWSIZE=64 -DVERBS=off -DSHLIB=off -DALLOC=\"AUTO\" -DDSEED=\"UDEV\" -DEP_PLAIN=off -DEP_SUPER=off -DPP_EXT=\"LAZYR\" -DTIMER=\"HREAL\" ../\n make\n\n popd # \"$RELIC_X64_TARGET_DIR\"\n\n\n mkdir \"$RELIC_I386_TARGET_DIR\"\n pushd \"$RELIC_I386_TARGET_DIR\"\n\n unset CC\n export CC=`xcrun --sdk macosx --find clang`\n\n ARCHFLAGS=\"-arch i386\"\n SYSROOT=`xcrun --sdk macosx --show-sdk-path`\n\n cmake -DTESTS=0 -DBENCH=0 -DCHECK=off -DARITH=easy -DFP_PRIME=381 -DFP_QNRES=off -DFP_METHD=\"INTEG;INTEG;INTEG;MONTY;LOWER;SLIDE\" -DFPX_METHD=\"INTEG;INTEG;LAZYR\" -DPP_METHD=\"LAZYR;OATEP\" -DCOMP=\"-O3 -funroll-loops -fomit-frame-pointer $INCLUDES -isysroot $SYSROOT $ARCHFLAGS -fembed-bitcode\" -DWSIZE=32 -DVERBS=off -DSHLIB=off -DALLOC=\"AUTO\" -DDSEED=\"UDEV\" -DEP_PLAIN=off -DEP_SUPER=off -DPP_EXT=\"LAZYR\" -DTIMER=\"HREAL\" ../\n make\n\n popd # \"$RELIC_I386_TARGET_DIR\"\n\n\n xcrun lipo -create \"${RELIC_ARM_TARGET_DIR}/lib/librelic_s.a\" \"${RELIC_ARMV7S_TARGET_DIR}/lib/librelic_s.a\" \"${RELIC_X64_TARGET_DIR}/lib/librelic_s.a\" \"${RELIC_I386_TARGET_DIR}/lib/librelic_s.a\" -output \"librelic_universal.a\"\n\n popd # contrib/relic\n\n\n # build BLS\n\n BLS_FILES=( \"aggregationinfo\" \"bls\" \"chaincode\" \"extendedprivatekey\" \"extendedpublickey\" \"privatekey\" \"publickey\" \"signature\" )\n ALL_BLS_OBJ_FILES=$(printf \"%s.o \" \"${BLS_FILES[@]}\")\n\n\n mkdir \"$BLS_ARM_TARGET_DIR\"\n pushd \"$BLS_ARM_TARGET_DIR\"\n\n ARCH=\"arm64\"\n SYSROOT=`xcrun --sdk iphoneos --show-sdk-path`\n CURRENT_DIR=`pwd`\n\n for F in \"${BLS_FILES[@]}\"\n do\n clang -I\"../contrib/relic/include\" -I\"../contrib/relic/${RELIC_ARM_TARGET_DIR}/include\" -I\"../src/\" -x c++ -std=c++14 -stdlib=libc++ -arch \"${ARCH}\" -isysroot \"${SYSROOT}\" -mios-simulator-version-min=10.0 -c \"../src/${F}.cpp\" -o \"${CURRENT_DIR}/${F}.o\"\n done\n\n ar -cvq libbls.a $ALL_BLS_OBJ_FILES\n\n popd # \"$BLS_ARM_TARGET_DIR\"\n\n\n mkdir \"$BLS_ARMV7S_TARGET_DIR\"\n pushd \"$BLS_ARMV7S_TARGET_DIR\"\n\n ARCH=\"armv7s\"\n SYSROOT=`xcrun --sdk iphoneos --show-sdk-path`\n CURRENT_DIR=`pwd`\n\n for F in \"${BLS_FILES[@]}\"\n do\n clang -I\"../contrib/relic/include\" -I\"../contrib/relic/${RELIC_ARMV7S_TARGET_DIR}/include\" -I\"../src/\" -x c++ -std=c++14 -stdlib=libc++ -arch \"${ARCH}\" -isysroot \"${SYSROOT}\" -mios-simulator-version-min=10.0 -c \"../src/${F}.cpp\" -o \"${CURRENT_DIR}/${F}.o\"\n done\n\n ar -cvq libbls.a $ALL_BLS_OBJ_FILES\n\n popd # \"$BLS_ARMV7S_TARGET_DIR\"\n\n\n mkdir \"$BLS_X64_TARGET_DIR\"\n pushd \"$BLS_X64_TARGET_DIR\"\n\n ARCH=\"x86_64\"\n SYSROOT=`xcrun --sdk macosx --show-sdk-path`\n CURRENT_DIR=`pwd`\n\n for F in \"${BLS_FILES[@]}\"\n do\n clang -I\"../contrib/relic/include\" -I\"../contrib/relic/${RELIC_X64_TARGET_DIR}/include\" -I\"../src/\" -x c++ -std=c++14 -stdlib=libc++ -arch \"${ARCH}\" -isysroot \"${SYSROOT}\" -c \"../src/${F}.cpp\" -o \"${CURRENT_DIR}/${F}.o\"\n done\n\n ar -cvq libbls.a $ALL_BLS_OBJ_FILES\n\n popd # \"$BLS_X64_TARGET_DIR\"\n\n\n mkdir \"$BLS_I386_TARGET_DIR\"\n pushd \"$BLS_I386_TARGET_DIR\"\n\n ARCH=\"i386\"\n SYSROOT=`xcrun --sdk macosx --show-sdk-path`\n CURRENT_DIR=`pwd`\n\n for F in \"${BLS_FILES[@]}\"\n do\n clang -I\"../contrib/relic/include\" -I\"../contrib/relic/${RELIC_I386_TARGET_DIR}/include\" -I\"../src/\" -x c++ -std=c++14 -stdlib=libc++ -arch \"${ARCH}\" -isysroot \"${SYSROOT}\" -c \"../src/${F}.cpp\" -o \"${CURRENT_DIR}/${F}.o\"\n done\n\n ar -cvq libbls.a $ALL_BLS_OBJ_FILES\n\n popd # \"$BLS_I386_TARGET_DIR\"\n\n\n xcrun lipo -create \"${BLS_ARM_TARGET_DIR}/libbls.a\" \"${BLS_ARMV7S_TARGET_DIR}/libbls.a\" \"${BLS_X64_TARGET_DIR}/libbls.a\" \"${BLS_I386_TARGET_DIR}/libbls.a\" -output \"libbls_universal.a\"\n\n\n # make relic_conf.h platform independent\n\n perl -p -e 's/#define WSIZE.*/#ifdef __LP64__\n#define WSIZE 64\n#else\n#define WSIZE 32\n#endif/' \"contrib/relic/${RELIC_ARM_TARGET_DIR}/include/relic_conf.h\" > \"contrib/relic/${RELIC_ARM_TARGET_DIR}/include/relic_conf.h.new\"\n rm \"contrib/relic/${RELIC_ARM_TARGET_DIR}/include/relic_conf.h\"\n mv \"contrib/relic/${RELIC_ARM_TARGET_DIR}/include/relic_conf.h.new\" \"contrib/relic/${RELIC_ARM_TARGET_DIR}/include/relic_conf.h\"",
"platforms": {
"ios": "10.0"
},
"libraries": "c++",
"pod_target_xcconfig": {
"CLANG_CXX_LANGUAGE_STANDARD": "c++14",
"CLANG_WARN_DOCUMENTATION_COMMENTS": "NO",
"GCC_WARN_64_TO_32_BIT_CONVERSION": "NO",
"GCC_WARN_INHIBIT_ALL_WARNINGS": "YES"
},
"source_files": [
"src/*.hpp",
"contrib/relic/include/*.h",
"contrib/relic/include/low/*.h",
"contrib/relic/relic-target-arm/include/*.h"
],
"exclude_files": "src/test-utils.hpp",
"vendored_libraries": [
"contrib/relic/librelic_universal.a",
"libbls_universal.a"
]
}