blob: c27be56a7cfb12799f66f10122d3f53df484336d [file] [log] [blame]
{
"name": "bls-signatures-pod",
"version": "0.1.8",
"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\"\nRELIC_ARMV7S_TARGET_DIR=\"relic-target-armv7s\"\nRELIC_X64_TARGET_DIR=\"relic-target-x86\"\nRELIC_I386_TARGET_DIR=\"relic-target-i386\"\n\nBLS_ARM_TARGET_DIR=\"bls-target-arm\"\nBLS_ARMV7S_TARGET_DIR=\"bls-target-armv7s\"\nBLS_X64_TARGET_DIR=\"bls-target-x86\"\nBLS_I386_TARGET_DIR=\"bls-target-i386\"\n\n\n# build relic\n\npushd contrib/relic\n\nSHA256_HASH=\"f01aec9c094be1cd00d094c83c14bb2730a0741f845c78e8568884bcbdcd3204\"\ncurl -o ios.toolchain.cmake https://raw.githubusercontent.com/leetal/ios-cmake/6ea5db18f9a05b4103e2aca665374b94c119fbed/ios.toolchain.cmake\nDOWNLOADED_HASH=`shasum -a 256 ios.toolchain.cmake | cut -f 1 -d \" \"`\nif [ $SHA256_HASH != $DOWNLOADED_HASH ]; then\n echo \"Error: sha256 checksum of ios.toolchain.cmake mismatch\" >&2\n exit 1\nfi\n\n\nmkdir \"$RELIC_ARM_TARGET_DIR\"\npushd \"$RELIC_ARM_TARGET_DIR\"\n\nexport CC=`xcrun --sdk iphoneos --find clang`\n\nARCHFLAGS=\"-arch arm64\"\nSYSROOT=`xcrun --sdk iphoneos --show-sdk-path`\n\ncmake -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 ../\nmake\n\npopd # \"$RELIC_ARM_TARGET_DIR\"\n\n\nmkdir \"$RELIC_ARMV7S_TARGET_DIR\"\npushd \"$RELIC_ARMV7S_TARGET_DIR\"\n\nexport CC=`xcrun --sdk iphoneos --find clang`\n\nARCHFLAGS=\"-arch armv7s\"\nSYSROOT=`xcrun --sdk iphoneos --show-sdk-path`\n\ncmake -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 ../\nmake\n\npopd # \"$RELIC_ARMV7S_TARGET_DIR\"\n\n\nmkdir \"$RELIC_X64_TARGET_DIR\"\npushd \"$RELIC_X64_TARGET_DIR\"\n\nunset CC\nexport CC=`xcrun --sdk macosx --find clang`\n\nARCHFLAGS=\"-arch x86_64\"\nSYSROOT=`xcrun --sdk macosx --show-sdk-path`\n\ncmake -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\" ../\nmake\n\npopd # \"$RELIC_X64_TARGET_DIR\"\n\n\nmkdir \"$RELIC_I386_TARGET_DIR\"\npushd \"$RELIC_I386_TARGET_DIR\"\n\nunset CC\nexport CC=`xcrun --sdk macosx --find clang`\n\nARCHFLAGS=\"-arch i386\"\nSYSROOT=`xcrun --sdk macosx --show-sdk-path`\n\ncmake -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\" ../\nmake\n\npopd # \"$RELIC_I386_TARGET_DIR\"\n\n\nxcrun 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\npopd # contrib/relic\n\n\n# build BLS\n\nBLS_FILES=( \"aggregationinfo\" \"bls\" \"chaincode\" \"extendedprivatekey\" \"extendedpublickey\" \"privatekey\" \"publickey\" \"signature\" )\nALL_BLS_OBJ_FILES=$(printf \"%s.o \" \"${BLS_FILES[@]}\")\n\n\nmkdir \"$BLS_ARM_TARGET_DIR\"\npushd \"$BLS_ARM_TARGET_DIR\"\n\nARCH=\"arm64\"\nSYSROOT=`xcrun --sdk iphoneos --show-sdk-path`\nCURRENT_DIR=`pwd`\n\nfor F in \"${BLS_FILES[@]}\"\ndo\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\"\ndone\n\nar -cvq libbls.a $ALL_BLS_OBJ_FILES\n\npopd # \"$BLS_ARM_TARGET_DIR\"\n\n\nmkdir \"$BLS_ARMV7S_TARGET_DIR\"\npushd \"$BLS_ARMV7S_TARGET_DIR\"\n\nARCH=\"armv7s\"\nSYSROOT=`xcrun --sdk iphoneos --show-sdk-path`\nCURRENT_DIR=`pwd`\n\nfor F in \"${BLS_FILES[@]}\"\ndo\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\"\ndone\n\nar -cvq libbls.a $ALL_BLS_OBJ_FILES\n\npopd # \"$BLS_ARMV7S_TARGET_DIR\"\n\n\nmkdir \"$BLS_X64_TARGET_DIR\"\npushd \"$BLS_X64_TARGET_DIR\"\n\nARCH=\"x86_64\"\nSYSROOT=`xcrun --sdk macosx --show-sdk-path`\nCURRENT_DIR=`pwd`\n\nfor F in \"${BLS_FILES[@]}\"\ndo\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\"\ndone\n\nar -cvq libbls.a $ALL_BLS_OBJ_FILES\n\npopd # \"$BLS_X64_TARGET_DIR\"\n\n\nmkdir \"$BLS_I386_TARGET_DIR\"\npushd \"$BLS_I386_TARGET_DIR\"\n\nARCH=\"i386\"\nSYSROOT=`xcrun --sdk macosx --show-sdk-path`\nCURRENT_DIR=`pwd`\n\nfor F in \"${BLS_FILES[@]}\"\ndo\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\"\ndone\n\nar -cvq libbls.a $ALL_BLS_OBJ_FILES\n\npopd # \"$BLS_I386_TARGET_DIR\"\n\n\nxcrun 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\nsed 's/#define WSIZE.*/#ifdef __LP64__ #define WSIZE 64 #else #define WSIZE 32 #endif/g' \"contrib/relic/${RELIC_ARM_TARGET_DIR}/include/relic_conf.h\" > \"contrib/relic/${RELIC_ARM_TARGET_DIR}/include/relic_conf.h.new\"\n\nrm \"contrib/relic/${RELIC_ARM_TARGET_DIR}/include/relic_conf.h\"\nmv \"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"
]
}