diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..3c52095 --- /dev/null +++ b/Makefile @@ -0,0 +1,129 @@ +PORTNAME= clvm_rs +PORTVERSION= 0.1.7 +CATEGORIES= devel python +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} + +MAINTAINER= risner@stdio.com +COMMENT= Chia's Rust clvm_rs library + +LICENSE= APACHE20 MIT UNLICENSE BSD3CLAUSE +LICENSE_COMB= multi + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}maturin>=0.8.3:devel/py-maturin@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pip>=20.2.3:devel/py-pip@${PY_FLAVOR} + +# TODO notes are included in this file. +USES+= cargo ssl python:3.7+ +USE_PYTHON= autoplist distutils concurrent + +USE_GITHUB=yes +GH_ACCOUNT= Chia-Network + +CARGO_BUILD= no +CARGO_INSTALL= no +#CARGO_BUILD_ARGS=--offline +CARGO_CRATES= bls12_381-0.4.0 \ + hex-0.4.2 \ + lazy_static-1.4.0 \ + num-bigint-0.3.1 \ + pyo3-0.13.2 \ + openssl-0.10.34 \ + ff-0.9.0 \ + group-0.9.0 \ + pairing-0.19.0 \ + rand_core-0.6.2 \ + subtle-2.4.0 \ + num-integer-0.1.44 \ + num-traits-0.2.14 \ + autocfg-1.0.1 \ + cfg-if-1.0.0 \ + ctor-0.1.20 \ + indoc-0.3.6 \ + inventory-0.1.10 \ + libc-0.2.95 \ + parking_lot-0.11.1 \ + paste-0.1.18 \ + pyo3-macros-0.13.2 \ + unindent-0.1.7 \ + bitflags-1.2.1 \ + openssl-sys-0.9.63 \ + foreign-types-0.3.2 \ + once_cell-1.7.2 \ + block-buffer-0.7.0 \ + digest-0.8.0 \ + fake-simd-0.1.2 \ + opaque-debug-0.2.0 \ + bitvec-0.20.0 \ + byteorder-1.4.3 \ + quote-1.0.9 \ + syn-1.0.72 \ + indoc-impl-0.3.6 \ + proc-macro-hack-0.5.19 \ + ghost-0.1.2 \ + inventory-impl-0.1.10 \ + instant-0.1.9 \ + lock_api-0.4.4 \ + parking_lot_core-0.8.3 \ + paste-impl-0.1.18 \ + pyo3-macros-backend-0.13.2 \ + cc-1.0.68 \ + pkg-config-0.3.19 \ + vcpkg-0.2.13 \ + foreign-types-shared-0.1.0 \ + block-padding-0.1.0 \ + byte-tools-0.3.1 \ + generic-array-0.12.0 \ + funty-1.1.0 \ + radium-0.6.2 \ + tap-1.0.1 \ + wyz-0.2.0 \ + proc-macro2-1.0.27 \ + unicode-xid-0.2.2 \ + scopeguard-1.1.0 \ + smallvec-1.6.1 \ + redox_syscall-0.2.8 \ + typenum-1.13.0 \ + winapi-i686-pc-windows-gnu-0.4.0 \ + winapi-x86_64-pc-windows-gnu-0.4.0 \ + winapi-0.3.9 + +# TODO - Should I patch the library to remove winapi requirements? + +# This is to prevent Mk/Uses/python.mk do-configure target from firing. +do-configure: + +# TODO Has Cargo.toml and pyproject.toml, but no setup.py. Requires maturin. +do-build: + @(cd ${BUILD_WRKSRC} ; \ + ${ECHO_MSG} "===> Builing Maturin Pyo3 bindings"; \ + ${SETENV} ${MAKE_ENV} maturin build --release \ + ${WITH_DEBUG:D:U--strip}) + +# Stage the .so library. +do-install: + ${STRIP_CMD} ${WRKSRC}/target/release/lib${PORTNAME}.so + ${INSTALL_DATA} ${WRKSRC}/target/release/lib${PORTNAME}.so ${STAGEDIR}${PREFIX}/lib +# TODO Portlint concerned about possible direct use of install, but we need +# to extract the whl into staging. Requires pip. + ${SETENV} ${MAKE_ENV} pip install --isolated --root=${STAGEDIR} \ + --ignore-installed --no-deps ${WRKSRC}/target/wheels/*.whl + +# Create the cached byte-code files. +post-install: + (cd ${STAGEDIR}${PREFIX} && \ + ${PYTHON_CMD} ${PYTHON_LIBDIR}/compileall.py -d ${PREFIX} \ + -f ${PYTHONPREFIX_SITELIBDIR:S;${PREFIX}/;;}) + ${STRIP_CMD} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/clvm*.so +# Regenerate .PLIST.pymodtemp from ${STAGEDIR} since the framework +# does not yet support Cargo.toml+pyproject.toml installs. + @${FIND} ${STAGEDIR} \ + -type f -o -type l | \ + ${SORT} | \ + ${SED} -e 's|${STAGEDIR}||' \ + > ${WRKDIR}/.PLIST.pymodtmp + +# TODO I'm not sure if these messages are errors or noops: +# ===> Creating unique files: Move MAN files needing SUFFIX +# ===> Creating unique files: Move files needing SUFFIX + +.include diff --git a/distinfo b/distinfo new file mode 100644 index 0000000..a534ee2 --- /dev/null +++ b/distinfo @@ -0,0 +1,131 @@ +TIMESTAMP = 1622422703 +SHA256 (rust/crates/bls12_381-0.4.0.tar.gz) = 1c56609cc42c628848e7b18e0baf42a4ef626b8c50442dc08b8094bd21d8ad32 +SIZE (rust/crates/bls12_381-0.4.0.tar.gz) = 504526 +SHA256 (rust/crates/hex-0.4.2.tar.gz) = 644f9158b2f133fd50f5fb3242878846d9eb792e445c893805ff0e3824006e35 +SIZE (rust/crates/hex-0.4.2.tar.gz) = 13385 +SHA256 (rust/crates/lazy_static-1.4.0.tar.gz) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646 +SIZE (rust/crates/lazy_static-1.4.0.tar.gz) = 10443 +SHA256 (rust/crates/num-bigint-0.3.1.tar.gz) = 5e9a41747ae4633fce5adffb4d2e81ffc5e89593cb19917f8fb2cc5ff76507bf +SIZE (rust/crates/num-bigint-0.3.1.tar.gz) = 83038 +SHA256 (rust/crates/pyo3-0.13.2.tar.gz) = 4837b8e8e18a102c23f79d1e9a110b597ea3b684c95e874eb1ad88f8683109c3 +SIZE (rust/crates/pyo3-0.13.2.tar.gz) = 281372 +SHA256 (rust/crates/openssl-0.10.34.tar.gz) = 6d7830286ad6a3973c0f1d9b73738f69c76b739301d0229c4b96501695cbe4c8 +SIZE (rust/crates/openssl-0.10.34.tar.gz) = 203996 +SHA256 (rust/crates/ff-0.9.0.tar.gz) = 72a4d941a5b7c2a75222e2d44fcdf634a67133d9db31e177ae5ff6ecda852bfe +SIZE (rust/crates/ff-0.9.0.tar.gz) = 9455 +SHA256 (rust/crates/group-0.9.0.tar.gz) = 61b3c1e8b4f1ca07e6605ea1be903a5f6956aec5c8a67fd44d56076631675ed8 +SIZE (rust/crates/group-0.9.0.tar.gz) = 13327 +SHA256 (rust/crates/pairing-0.19.0.tar.gz) = 9be899ebf10363f018353dba1baabb7e83145f3683c7b83b73b93b563e3167cc +SIZE (rust/crates/pairing-0.19.0.tar.gz) = 8431 +SHA256 (rust/crates/rand_core-0.6.2.tar.gz) = 34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7 +SIZE (rust/crates/rand_core-0.6.2.tar.gz) = 21708 +SHA256 (rust/crates/subtle-2.4.0.tar.gz) = 1e81da0851ada1f3e9d4312c704aa4f8806f0f9d69faaf8df2f3464b4a9437c2 +SIZE (rust/crates/subtle-2.4.0.tar.gz) = 12411 +SHA256 (rust/crates/num-integer-0.1.44.tar.gz) = d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db +SIZE (rust/crates/num-integer-0.1.44.tar.gz) = 22216 +SHA256 (rust/crates/num-traits-0.2.14.tar.gz) = 9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290 +SIZE (rust/crates/num-traits-0.2.14.tar.gz) = 45476 +SHA256 (rust/crates/autocfg-1.0.1.tar.gz) = cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a +SIZE (rust/crates/autocfg-1.0.1.tar.gz) = 12908 +SHA256 (rust/crates/cfg-if-1.0.0.tar.gz) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd +SIZE (rust/crates/cfg-if-1.0.0.tar.gz) = 7934 +SHA256 (rust/crates/ctor-0.1.20.tar.gz) = 5e98e2ad1a782e33928b96fc3948e7c355e5af34ba4de7670fe8bac2a3b2006d +SIZE (rust/crates/ctor-0.1.20.tar.gz) = 9328 +SHA256 (rust/crates/indoc-0.3.6.tar.gz) = 47741a8bc60fb26eb8d6e0238bbb26d8575ff623fdc97b1a2c00c050b9684ed8 +SIZE (rust/crates/indoc-0.3.6.tar.gz) = 9663 +SHA256 (rust/crates/inventory-0.1.10.tar.gz) = 0f0f7efb804ec95e33db9ad49e4252f049e37e8b0a4652e3cd61f7999f2eff7f +SIZE (rust/crates/inventory-0.1.10.tar.gz) = 11572 +SHA256 (rust/crates/libc-0.2.95.tar.gz) = 789da6d93f1b866ffe175afc5322a4d76c038605a1c3319bb57b06967ca98a36 +SIZE (rust/crates/libc-0.2.95.tar.gz) = 515341 +SHA256 (rust/crates/parking_lot-0.11.1.tar.gz) = 6d7744ac029df22dca6284efe4e898991d28e3085c706c972bcd7da4a27a15eb +SIZE (rust/crates/parking_lot-0.11.1.tar.gz) = 39854 +SHA256 (rust/crates/paste-0.1.18.tar.gz) = 45ca20c77d80be666aef2b45486da86238fabe33e38306bd3118fe4af33fa880 +SIZE (rust/crates/paste-0.1.18.tar.gz) = 12259 +SHA256 (rust/crates/pyo3-macros-0.13.2.tar.gz) = a47f2c300ceec3e58064fd5f8f5b61230f2ffd64bde4970c81fdd0563a2db1bb +SIZE (rust/crates/pyo3-macros-0.13.2.tar.gz) = 5434 +SHA256 (rust/crates/unindent-0.1.7.tar.gz) = f14ee04d9415b52b3aeab06258a3f07093182b88ba0f9b8d203f211a7a7d41c7 +SIZE (rust/crates/unindent-0.1.7.tar.gz) = 8346 +SHA256 (rust/crates/bitflags-1.2.1.tar.gz) = cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693 +SIZE (rust/crates/bitflags-1.2.1.tar.gz) = 16745 +SHA256 (rust/crates/openssl-sys-0.9.63.tar.gz) = b6b0d6fb7d80f877617dfcb014e605e2b5ab2fb0afdf27935219bb6bd984cb98 +SIZE (rust/crates/openssl-sys-0.9.63.tar.gz) = 52125 +SHA256 (rust/crates/foreign-types-0.3.2.tar.gz) = f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1 +SIZE (rust/crates/foreign-types-0.3.2.tar.gz) = 7504 +SHA256 (rust/crates/once_cell-1.7.2.tar.gz) = af8b08b04175473088b46763e51ee54da5f9a164bc162f615b91bc179dbf15a3 +SIZE (rust/crates/once_cell-1.7.2.tar.gz) = 28250 +SHA256 (rust/crates/block-buffer-0.7.0.tar.gz) = 49665c62e0e700857531fa5d3763e91b539ff1abeebd56808d378b495870d60d +SIZE (rust/crates/block-buffer-0.7.0.tar.gz) = 6975 +SHA256 (rust/crates/digest-0.8.0.tar.gz) = 05f47366984d3ad862010e22c7ce81a7dbcaebbdfb37241a620f8b6596ee135c +SIZE (rust/crates/digest-0.8.0.tar.gz) = 9401 +SHA256 (rust/crates/fake-simd-0.1.2.tar.gz) = e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed +SIZE (rust/crates/fake-simd-0.1.2.tar.gz) = 5398 +SHA256 (rust/crates/opaque-debug-0.2.0.tar.gz) = 8015ef116df29050c48bd69c87acf3d6ab94e77d71dffb189cc0e55885aa43d4 +SIZE (rust/crates/opaque-debug-0.2.0.tar.gz) = 5510 +SHA256 (rust/crates/bitvec-0.20.0.tar.gz) = 85131fd04df0806b6f14843b6a7369a127deefbd6f3e8ec4dbb4fd9ae3d3c5f1 +SIZE (rust/crates/bitvec-0.20.0.tar.gz) = 193118 +SHA256 (rust/crates/byteorder-1.4.3.tar.gz) = 14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610 +SIZE (rust/crates/byteorder-1.4.3.tar.gz) = 22512 +SHA256 (rust/crates/quote-1.0.9.tar.gz) = c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7 +SIZE (rust/crates/quote-1.0.9.tar.gz) = 25042 +SHA256 (rust/crates/syn-1.0.72.tar.gz) = a1e8cdbefb79a9a5a65e0db8b47b723ee907b7c7f8496c76a1770b5c310bab82 +SIZE (rust/crates/syn-1.0.72.tar.gz) = 232500 +SHA256 (rust/crates/indoc-impl-0.3.6.tar.gz) = ce046d161f000fffde5f432a0d034d0341dc152643b2598ed5bfce44c4f3a8f0 +SIZE (rust/crates/indoc-impl-0.3.6.tar.gz) = 7933 +SHA256 (rust/crates/proc-macro-hack-0.5.19.tar.gz) = dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5 +SIZE (rust/crates/proc-macro-hack-0.5.19.tar.gz) = 15556 +SHA256 (rust/crates/ghost-0.1.2.tar.gz) = 1a5bcf1bbeab73aa4cf2fde60a846858dc036163c7c33bec309f8d17de785479 +SIZE (rust/crates/ghost-0.1.2.tar.gz) = 12777 +SHA256 (rust/crates/inventory-impl-0.1.10.tar.gz) = 75c094e94816723ab936484666968f5b58060492e880f3c8d00489a1e244fa51 +SIZE (rust/crates/inventory-impl-0.1.10.tar.gz) = 6228 +SHA256 (rust/crates/instant-0.1.9.tar.gz) = 61124eeebbd69b8190558df225adf7e4caafce0d743919e5d6b19652314ec5ec +SIZE (rust/crates/instant-0.1.9.tar.gz) = 5213 +SHA256 (rust/crates/lock_api-0.4.4.tar.gz) = 0382880606dff6d15c9476c416d18690b72742aa7b605bb6dd6ec9030fbf07eb +SIZE (rust/crates/lock_api-0.4.4.tar.gz) = 20356 +SHA256 (rust/crates/parking_lot_core-0.8.3.tar.gz) = fa7a782938e745763fe6907fc6ba86946d72f49fe7e21de074e08128a99fb018 +SIZE (rust/crates/parking_lot_core-0.8.3.tar.gz) = 32147 +SHA256 (rust/crates/paste-impl-0.1.18.tar.gz) = d95a7db200b97ef370c8e6de0088252f7e0dfff7d047a28528e47456c0fc98b6 +SIZE (rust/crates/paste-impl-0.1.18.tar.gz) = 9451 +SHA256 (rust/crates/pyo3-macros-backend-0.13.2.tar.gz) = 87b097e5d84fcbe3e167f400fbedd657820a375b034c78bd852050749a575d66 +SIZE (rust/crates/pyo3-macros-backend-0.13.2.tar.gz) = 33106 +SHA256 (rust/crates/cc-1.0.68.tar.gz) = 4a72c244c1ff497a746a7e1fb3d14bd08420ecda70c8f25c7112f2781652d787 +SIZE (rust/crates/cc-1.0.68.tar.gz) = 55936 +SHA256 (rust/crates/pkg-config-0.3.19.tar.gz) = 3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c +SIZE (rust/crates/pkg-config-0.3.19.tar.gz) = 15451 +SHA256 (rust/crates/vcpkg-0.2.13.tar.gz) = 025ce40a007e1907e58d5bc1a594def78e5573bb0b1160bc389634e8f12e4faa +SIZE (rust/crates/vcpkg-0.2.13.tar.gz) = 15559 +SHA256 (rust/crates/foreign-types-shared-0.1.0.tar.gz) = baa1839fc3c5487b5e129ea4f774e3fd84e6c4607127315521bc014a722ebc9e +SIZE (rust/crates/foreign-types-shared-0.1.0.tar.gz) = 1213 +SHA256 (rust/crates/block-padding-0.1.0.tar.gz) = 75bc2cfa52dc218b47ea000b15e6e5d00ca2f831db31e41592383c14d8802907 +SIZE (rust/crates/block-padding-0.1.0.tar.gz) = 7059 +SHA256 (rust/crates/byte-tools-0.3.1.tar.gz) = e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7 +SIZE (rust/crates/byte-tools-0.3.1.tar.gz) = 5526 +SHA256 (rust/crates/generic-array-0.12.0.tar.gz) = 3c0f28c2f5bfb5960175af447a2da7c18900693738343dc896ffbcabd9839592 +SIZE (rust/crates/generic-array-0.12.0.tar.gz) = 17977 +SHA256 (rust/crates/funty-1.1.0.tar.gz) = fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7 +SIZE (rust/crates/funty-1.1.0.tar.gz) = 11631 +SHA256 (rust/crates/radium-0.6.2.tar.gz) = 643f8f41a8ebc4c5dc4515c82bb8abd397b527fc20fd681b7c011c2aee5d44fb +SIZE (rust/crates/radium-0.6.2.tar.gz) = 9930 +SHA256 (rust/crates/tap-1.0.1.tar.gz) = 55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369 +SIZE (rust/crates/tap-1.0.1.tar.gz) = 11316 +SHA256 (rust/crates/wyz-0.2.0.tar.gz) = 85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214 +SIZE (rust/crates/wyz-0.2.0.tar.gz) = 12926 +SHA256 (rust/crates/proc-macro2-1.0.27.tar.gz) = f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038 +SIZE (rust/crates/proc-macro2-1.0.27.tar.gz) = 38625 +SHA256 (rust/crates/unicode-xid-0.2.2.tar.gz) = 8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3 +SIZE (rust/crates/unicode-xid-0.2.2.tar.gz) = 14955 +SHA256 (rust/crates/scopeguard-1.1.0.tar.gz) = d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd +SIZE (rust/crates/scopeguard-1.1.0.tar.gz) = 11470 +SHA256 (rust/crates/smallvec-1.6.1.tar.gz) = fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e +SIZE (rust/crates/smallvec-1.6.1.tar.gz) = 26444 +SHA256 (rust/crates/redox_syscall-0.2.8.tar.gz) = 742739e41cd49414de871ea5e549afb7e2a3ac77b589bcbebe8c82fab37147fc +SIZE (rust/crates/redox_syscall-0.2.8.tar.gz) = 23697 +SHA256 (rust/crates/typenum-1.13.0.tar.gz) = 879f6906492a7cd215bfa4cf595b600146ccfac0c79bcbd1f3000162af5e8b06 +SIZE (rust/crates/typenum-1.13.0.tar.gz) = 40238 +SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.tar.gz) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6 +SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.tar.gz) = 2918815 +SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.tar.gz) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f +SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.tar.gz) = 2947998 +SHA256 (rust/crates/winapi-0.3.9.tar.gz) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419 +SIZE (rust/crates/winapi-0.3.9.tar.gz) = 1200382 +SHA256 (Chia-Network-clvm_rs-0.1.7_GH0.tar.gz) = 871076e88523290540f79bbf3d274c12bcde457a539e0d48d3eec48120bf96cf +SIZE (Chia-Network-clvm_rs-0.1.7_GH0.tar.gz) = 466034 diff --git a/files/patch-Cargo.toml b/files/patch-Cargo.toml new file mode 100644 index 0000000..7cfb131 --- /dev/null +++ b/files/patch-Cargo.toml @@ -0,0 +1,12 @@ +--- Cargo.toml.orig 2021-05-02 18:59:38 UTC ++++ Cargo.toml +@@ -26,8 +26,5 @@ lazy_static = "1.4.0" + num-bigint = "0.3.1" + bls12_381 = "0.4.0" + +-[target.'cfg(windows)'.dependencies] +-sha2 = "0.8.0" +- + [target.'cfg(unix)'.dependencies] +-openssl = { version = "0.10.32", features = ["vendored"] } ++openssl = { version = "0.10.32" } diff --git a/pkg-descr b/pkg-descr new file mode 100644 index 0000000..de4682f --- /dev/null +++ b/pkg-descr @@ -0,0 +1,3 @@ +Rust implementation of clvm. + +WWW: https://github.com/Chia-Network/clvm_rs