Bug 256509

Summary: [NEW PORT] finance/chiapos: Chia proof of space plotting, proving, and verifying (cmake part)
Product: Ports & Packages Reporter: risner <risner>
Component: Individual Port(s)Assignee: freebsd-ports-bugs (Nobody) <ports-bugs>
Status: Closed FIXED    
Severity: Affects Only Me CC: adridg
Priority: --- Keywords: feature, needs-qa
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
Final staged git diff of standalone binaries.
none
git staged diff with plist issue fixed
none
git staged diff - tested for amd64 on 11.4/12.2/13.0
none
Final staged git diff.
none
Final staged git diff.
none
Ready for QA
none
Ready for QA none

Description risner 2021-06-09 19:18:42 UTC
Created attachment 225668 [details]
Final staged git diff of standalone binaries.

Stand alone binaries for Chia Blockchain file creation.

To make use of files generated by this tool, you would need a machine running the chia-blockchain (wallet, farmer, etc). I'll also be submitting ports for those. But this port can allow people to make files on FreeBSD machines.

This is a standalone package from the finance/py-chiapos python bindings port.
Comment 1 risner 2021-06-10 02:53:14 UTC
Created attachment 225683 [details]
git staged diff with plist issue fixed

fixed a plist issue
Comment 2 risner 2021-06-11 12:38:13 UTC
Created attachment 225731 [details]
git staged diff - tested for amd64 on 11.4/12.2/13.0

Known issue:
Fails on i386 due to requirements of 128 unsigned intergers.
The practical use of this port on i386 is limited. Plotting the minimum sized file of 101.4 GiB requires a minimum of 4 GiB of ram plus disk buffers/cache and OS requirements. Performance will greatly suffer on i386.
Comment 3 risner 2021-06-11 12:57:15 UTC
Created attachment 225733 [details]
Final staged git diff.

Migrated to a poudriere and got my versions mixed up.

This is the final finance/chipos.

Passes tests on amd64. Have not yet tested arm64. Fails on i386 (see last comment utility on i386 will be limited due to extensive use of more than 4 GiB ram.)
Comment 4 risner 2021-06-11 13:26:53 UTC
Created attachment 225736 [details]
Final staged git diff.

Final for QA check.

Tested for amd64 on 11.4/12.2/13.0 releases. Have not yet tested on arm64.

Known issue:
Fails on i386 due to requirements of 128 unsigned integers.
The practical use of this port on i386 is limited. Plotting the minimum sized file of 101.4 GiB requires a minimum of 4 GiB of ram plus disk buffers/cache and OS requirements. Performance will greatly suffer on i386.
Comment 5 risner 2021-06-13 22:50:42 UTC
Created attachment 225780 [details]
Ready for QA

Ready for QA

Poudriere tested on:
114amd64
114i386
122amd64
122i386
130amd64
130aarch64

Passes all my local tests

There is no Haskell in this port, all ghc references are developer initials.
The HellmanAttacks example code is experimental and incomplete upstream.

Known Issues:
1) There were three MIT licenses, but only one appeared in packages.
	I concatenated all three MIT licenses into one file.
	Is there a way to put all three in the package using LICENSE_FILE_MIT?
2) The port doesn't support i386, the code depends 128 bit compiler support ande
	it would be a major rewrite to remedy for little to no benefit due
	the the application requiring 4 to 6 GiB of ram to function.
	error: unknown type name '__uint128_t'
3) Compiles under arm64, but I don't have an arm64 system currently running
	FreeBSD to test. Under QEMU make test fails with a qemu crash.
Comment 6 risner 2021-06-13 22:52:09 UTC
Created attachment 225781 [details]
Ready for QA


Poudriere tested on:
114amd64
114i386
122amd64
122i386
130amd64
130aarch64

Passes all my local tests

There is no Haskell in this port, all ghc references are developer initials.
The HellmanAttacks example code is experimental and incomplete upstream.

Known Issues:
1) There were three MIT licenses, but only one appeared in packages.
	I concatenated all three MIT licenses into one file.
	Is there a way to put all three in the package using LICENSE_FILE_MIT?
2) The port doesn't support i386, the code depends 128 bit compiler support ande
	it would be a major rewrite to remedy for little to no benefit due
	the the application requiring 4 to 6 GiB of ram to function.
	error: unknown type name '__uint128_t'
3) Compiles under arm64, but I don't have an arm64 system currently running
	FreeBSD to test. Under QEMU make test fails with a qemu crash.
Comment 7 commit-hook freebsd_committer 2021-10-03 20:44:11 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=df7cb4adce8d56adad5a334ad3821b1259dd29da

commit df7cb4adce8d56adad5a334ad3821b1259dd29da
Author:     Adriaan de Groot <adridg@FreeBSD.org>
AuthorDate: 2021-10-03 20:39:03 +0000
Commit:     Adriaan de Groot <adridg@FreeBSD.org>
CommitDate: 2021-10-03 20:43:55 +0000

    finance/chiapos: New port Chia proof of space

    Patch from the PR applied basically unchanged, except
    I cleaned up for current standards and added NOT_FOR_ARCHS
    to avoid i386 altogether (where the port won't work).

    PR:             256509
    Obtained from:  risner@stdio.com (maintainer)

 finance/Makefile                                 |  1 +
 finance/chiapos/Makefile (new)                   | 52 ++++++++++++++
 finance/chiapos/distinfo (new)                   |  7 ++
 finance/chiapos/files/Hellman-Makefile (new)     | 14 ++++
 finance/chiapos/files/patch-CMakeLists.txt (new) | 89 ++++++++++++++++++++++++
 finance/chiapos/files/patch-setup.py (new)       | 30 ++++++++
 finance/chiapos/pkg-descr (new)                  | 10 +++
 7 files changed, 203 insertions(+)
Comment 8 Adriaan de Groot freebsd_committer 2021-10-03 20:45:16 UTC
Committed; I checked that it builds, but that's all.