FreeBSD Bugzilla – Attachment 225779 Details for
Bug 256427
[NEW PORT] finance/py-chiapos: Chia proof of space plotting, proving, and verifying (wraps C++)
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Ready for QA
finance-py-chiapos.diff (text/plain), 10.29 KB, created by
risner
on 2021-06-13 22:48:10 UTC
(
hide
)
Description:
Ready for QA
Filename:
MIME Type:
Creator:
risner
Created:
2021-06-13 22:48:10 UTC
Size:
10.29 KB
patch
obsolete
>diff --git a/finance/py-chiapos/Makefile b/finance/py-chiapos/Makefile >new file mode 100644 >index 0000000..0f0cc1a >--- /dev/null >+++ b/finance/py-chiapos/Makefile >@@ -0,0 +1,55 @@ >+# $FreeBSD$ >+ >+PORTNAME= chiapos >+DISTVERSION= 1.0.3 >+CATEGORIES= finance python >+MASTER_SITES= CHEESESHOP >+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} >+DISTFILES= ${DISTNAME}${EXTRACT_SUFX} >+ >+MAINTAINER= risner@stdio.com >+COMMENT= Chia proof of space plotting, proving, and verifying (wraps C++) >+ >+LICENSE= APACHE20 BSD2CLAUSE MIT >+LICENSE_COMB= multi >+LICENSE_FILE_APACHE20= ${WRKSRC}/LICENSE >+LICENSE_FILE_BSD2CLAUSE= ${WRKSRC}/lib/FiniteStateEntropy/LICENSE >+LICENSE_FILE_MIT= ${WRKSRC}/MIT-LICENSES >+LICENSE_DISTFILES_APACHE20= ${DISTNAME}${EXTRACT_SUFX} >+LICENSE_DISTFILES_BSD2CLAUSE= ${DISTNAME}${EXTRACT_SUFX} >+LICENSE_DISTFILES_MIT= ${DISTNAME}${EXTRACT_SUFX} ${DISTFILE_c} \ >+ ${DISTFILE_g} >+ >+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools_scm>=3.5.0:devel/py-setuptools_scm@${PY_FLAVOR} \ >+ ${PYTHON_SITELIBDIR}/pybind11:devel/py-pybind11@${PY_FLAVOR} \ >+TEST_DEPENDS= mypy:devel/py-mypy@${PY_FLAVOR} \ >+ flake8:devel/py-flake8@${PY_FLAVOR} \ >+ py.test:devel/py-pytest@${PY_FLAVOR} >+ >+USES= python:3.7+ >+USE_GITHUB= nodefault >+GH_TUPLE= jarro2783:cxxopts:302302b30839505703d37fb82f536c53cf9172fa:c/src-ext/cxxopts \ >+ gulrak:filesystem:4e21ab305794f5309a1454b4ae82ab9a0f5e0d25:g/src-ext/gulrak >+USE_PYTHON= autoplist concurrent distutils >+ >+PYDISTUTILS_INSTALLARGS+= --skip-build >+ >+post-extract: >+# Remove extraneous unused files to prevent confusion >+ @${RM} ${WRKSRC}/lib/FiniteStateEntropy/fetch-content-CMakeLists.txt >+ @${RM} ${WRKSRC}/pyproject.toml >+# Concatenate the MIT licenses >+ @( ${ECHO_MSG} "uint128_t license:"; \ >+ ${CAT} ${WRKSRC}/uint128_t/LICENSE; \ >+ ${ECHO_MSG} ""; ${ECHO_MSG} ""; \ >+ ${ECHO_MSG} "cxxopts license:"; \ >+ ${CAT} ${WRKSRC}/src-ext/cxxopts/LICENSE; \ >+ ${ECHO_MSG} ""; ${ECHO_MSG} ""; \ >+ ${ECHO_MSG} "gulrak license:"; \ >+ ${CAT} ${WRKSRC}/src-ext/gulrak/LICENSE ) \ >+ > ${WRKSRC}/MIT-LICENSES >+ >+do-test: stage >+ @(cd ${WRKSRC}; ${LOCALBASE}/bin/py.test ./tests -s -v) >+ >+.include <bsd.port.mk> >diff --git a/finance/py-chiapos/distinfo b/finance/py-chiapos/distinfo >new file mode 100644 >index 0000000..004b2ba >--- /dev/null >+++ b/finance/py-chiapos/distinfo >@@ -0,0 +1,7 @@ >+TIMESTAMP = 1623067298 >+SHA256 (chiapos-1.0.3.tar.gz) = d987b481a3acbff1e0d77eb713af8d99ecec2bd11c2c465528a5078a433686bd >+SIZE (chiapos-1.0.3.tar.gz) = 1291513 >+SHA256 (jarro2783-cxxopts-302302b30839505703d37fb82f536c53cf9172fa_GH0.tar.gz) = 74e21646f3278243c9466665794d45410e63453ab7f3652acdae1d62efc4b21d >+SIZE (jarro2783-cxxopts-302302b30839505703d37fb82f536c53cf9172fa_GH0.tar.gz) = 89640 >+SHA256 (gulrak-filesystem-4e21ab305794f5309a1454b4ae82ab9a0f5e0d25_GH0.tar.gz) = fef3e809d584b77fd3ec677bd0d40cbe6737bbb3dbb1570fe1b2025262ea82c2 >+SIZE (gulrak-filesystem-4e21ab305794f5309a1454b4ae82ab9a0f5e0d25_GH0.tar.gz) = 175696 >diff --git a/finance/py-chiapos/files/patch-CMakeLists.txt b/finance/py-chiapos/files/patch-CMakeLists.txt >new file mode 100644 >index 0000000..1a818c0 >--- /dev/null >+++ b/finance/py-chiapos/files/patch-CMakeLists.txt >@@ -0,0 +1,94 @@ >+--- CMakeLists.txt.orig 2021-05-28 02:40:44 UTC >++++ CMakeLists.txt >+@@ -14,29 +14,8 @@ endif() >+ project(chiapos C CXX ASM) >+ >+ # CMake 3.14+ >+-include(FetchContent) >++include(${CMAKE_INSTALL_PREFIX}/share/cmake/pybind11/pybind11Config.cmake) >+ >+-FetchContent_Declare( >+- pybind11-src >+- GIT_REPOSITORY https://github.com/pybind/pybind11.git >+- GIT_TAG v2.6.2 >+-) >+-FetchContent_MakeAvailable(pybind11-src) >+- >+-FetchContent_Declare( >+- cxxopts >+- GIT_REPOSITORY https://github.com/jarro2783/cxxopts.git >+- GIT_TAG v2.2.1 >+-) >+-FetchContent_MakeAvailable(cxxopts) >+- >+-FetchContent_Declare( >+- gulrak >+- GIT_REPOSITORY https://github.com/gulrak/filesystem.git >+- GIT_TAG v1.5.6 >+-) >+-FetchContent_MakeAvailable(gulrak) >+- >+ set(FSE_LIB ${CMAKE_CURRENT_SOURCE_DIR}/lib/FiniteStateEntropy/lib) >+ set(FSE_FILES >+ ${FSE_LIB}/fse_compress.c >+@@ -48,8 +27,8 @@ set(FSE_FILES >+ include_directories( >+ ${INCLUDE_DIRECTORIES} >+ ${CMAKE_CURRENT_SOURCE_DIR}/../lib/include >+- ${cxxopts_SOURCE_DIR}/include >+- ${gulrak_SOURCE_DIR}/include/ghc >++ ${CMAKE_CURRENT_SOURCE_DIR}/src-ext/cxxopts/include >++ ${CMAKE_CURRENT_SOURCE_DIR}/src-ext/gulrak/include/ghc >+ ${CMAKE_CURRENT_SOURCE_DIR}/../lib/FiniteStateEntropy/lib >+ ${CMAKE_CURRENT_SOURCE_DIR}/src >+ ${CMAKE_CURRENT_SOURCE_DIR}/test >+@@ -132,19 +111,6 @@ ENDIF() >+ >+ pybind11_add_module(chiapos ${CMAKE_CURRENT_SOURCE_DIR}/python-bindings/chiapos.cpp src/chacha8.c ${BLAKE3_SRC}) >+ >+-add_executable(ProofOfSpace >+- src/cli.cpp >+- src/chacha8.c >+- ${BLAKE3_SRC} >+-) >+- >+-add_executable(RunTests >+- tests/test-main.cpp >+- tests/test.cpp >+- src/chacha8.c >+- ${BLAKE3_SRC} >+-) >+- >+ find_package(Threads REQUIRED) >+ >+ add_library(uint128 STATIC uint128_t/uint128_t.cpp) >+@@ -152,29 +118,15 @@ target_include_directories(uint128 PUBLIC uint128_t) >+ >+ target_compile_features(fse PUBLIC cxx_std_17) >+ target_compile_features(chiapos PUBLIC cxx_std_17) >+-target_compile_features(RunTests PUBLIC cxx_std_17) >+ >+ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") >+ target_link_libraries(chiapos PRIVATE fse Threads::Threads) >+- target_link_libraries(ProofOfSpace fse Threads::Threads) >+- target_link_libraries(RunTests fse Threads::Threads) >+ elseif (${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD") >+ target_link_libraries(chiapos PRIVATE fse Threads::Threads) >+- target_link_libraries(ProofOfSpace fse Threads::Threads) >+- target_link_libraries(RunTests fse Threads::Threads) >+ elseif (${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") >+ target_link_libraries(chiapos PRIVATE fse Threads::Threads) >+- target_link_libraries(ProofOfSpace fse Threads::Threads) >+- target_link_libraries(RunTests fse Threads::Threads) >+ elseif (MSVC) >+ target_link_libraries(chiapos PRIVATE fse Threads::Threads uint128) >+- target_link_libraries(ProofOfSpace fse Threads::Threads uint128) >+- target_link_libraries(RunTests fse Threads::Threads uint128) >+ else() >+ target_link_libraries(chiapos PRIVATE fse stdc++fs Threads::Threads) >+- target_link_libraries(ProofOfSpace fse stdc++fs Threads::Threads) >+- target_link_libraries(RunTests fse stdc++fs Threads::Threads) >+ endif() >+- >+-enable_testing() >+-add_test(NAME RunTests COMMAND RunTests) >diff --git a/finance/py-chiapos/files/patch-setup.py b/finance/py-chiapos/files/patch-setup.py >new file mode 100644 >index 0000000..acb8a1f >--- /dev/null >+++ b/finance/py-chiapos/files/patch-setup.py >@@ -0,0 +1,95 @@ >+--- setup.py.orig 2021-05-28 02:40:44 UTC >++++ setup.py >+@@ -6,6 +6,11 @@ import platform >+ import subprocess >+ >+ from setuptools import setup, setuptools, Extension >++if platform.machine() == "amd64": >++ # Patch the unix compiler to accept ASM >++ from distutils.unixccompiler import UnixCCompiler >++ UnixCCompiler.src_extensions.append('.S') >++ del UnixCCompiler >+ from setuptools.command.build_ext import build_ext >+ from distutils.version import LooseVersion >+ >+@@ -87,24 +92,34 @@ class get_pybind_include(object): >+ >+ return pybind11.get_include(self.user) >+ >++fse = ('fse', {'sources': [ >++ "lib/FiniteStateEntropy/lib/entropy_common.c", >++ "lib/FiniteStateEntropy/lib/fse_compress.c", >++ "lib/FiniteStateEntropy/lib/fse_decompress.c", >++ "lib/FiniteStateEntropy/lib/hist.c"]}) >+ >++if platform.machine() == "amd64": >++ blake = ('blake', {'sources': [ >++ "src/b3/blake3.c", >++ "src/b3/blake3_portable.c", >++ "src/b3/blake3_dispatch.c", >++ "src/b3/blake3_avx2_x86-64_unix.S", >++ "src/b3/blake3_avx512_x86-64_unix.S", >++ "src/b3/blake3_sse41_x86-64_unix.S"]}) >++else: >++ blake = ('blake', {'sources': [ >++ "src/b3/blake3.c", >++ "src/b3/blake3_portable.c", >++ "src/b3/blake3_dispatch.c"]}) >++ >++chacha = ('chacha', {'sources': ["src/chacha8.c"]}) >++ >+ ext_modules = [ >+ Extension( >+ "chiapos", >+ [ >+- "lib/FiniteStateEntropy/lib/entropy_common.c", >+- "lib/FiniteStateEntropy/lib/fse_compress.c", >+- "lib/FiniteStateEntropy/lib/fse_decompress.c", >+- "lib/FiniteStateEntropy/lib/hist.c", >+ "python-bindings/chiapos.cpp", >+ "uint128_t/uint128_t.cpp", >+- "src/b3/blake3.c", >+- "src/b3/blake3_portable.c", >+- "src/b3/blake3_dispatch.c", >+- "src/b3/blake3_avx2.c", >+- "src/b3/blake3_avx512.c", >+- "src/b3/blake3_sse41.c", >+- "src/chacha8.c", >+ ], >+ include_dirs=[ >+ # Path to pybind11 headers >+@@ -161,6 +176,12 @@ class BuildExt(build_ext): >+ "unix": [""], >+ } >+ >++ if "WITH_DEBUG" in os.environ: >++ c_opts["unix"] += ["-g"] >++ l_opts["unix"] += ["-g"] >++ else: >++ l_opts["unix"] += ["-s"] >++ >+ if sys.platform == "darwin": >+ darwin_opts = ["-stdlib=libc++", "-mmacosx-version-min=10.14"] >+ c_opts["unix"] += darwin_opts >+@@ -202,6 +223,7 @@ if platform.system() == "Windows": >+ else: >+ setup( >+ name="chiapos", >++ version="1.0.3", >+ author="Mariano Sorgente", >+ author_email="mariano@chia.net", >+ description="Chia proof of space plotting, proving, and verifying (wraps C++)", >+@@ -209,8 +231,10 @@ else: >+ python_requires=">=3.7", >+ long_description=open("README.md").read(), >+ long_description_content_type="text/markdown", >+- url="https://github.com/Chia-Network/chiavdf", >+- ext_modules=[CMakeExtension("chiapos", ".")], >+- cmdclass=dict(build_ext=CMakeBuild), >++ url="https://github.com/Chia-Network/chiapos", >++ scripts=['tools/parse_disk.py'], >++ libraries=[fse, blake, chacha], >++ ext_modules=ext_modules, >++ cmdclass={"build_ext": BuildExt}, >+ zip_safe=False, >+ ) >diff --git a/finance/py-chiapos/pkg-descr b/finance/py-chiapos/pkg-descr >new file mode 100644 >index 0000000..2aba498 >--- /dev/null >+++ b/finance/py-chiapos/pkg-descr >@@ -0,0 +1,10 @@ >+Chia's proof of space is written in C++. Includes a plotter, prover, and >+verifier. It exclusively runs on 64 bit architectures. Read the Proof of >+Space document to learn about what proof of space is and how it works. >+ >+Notes: >+i386 is not supported, and would be too slow for practical use if supported. >+ >+This port is for the Python module (library). >+ >+WWW: https://github.com/Chia-Network/chiapos
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 256427
:
225570
|
225596
|
225615
|
225667
|
225709
|
225710
|
225734
|
225779
|
225783