Description of problem:
cjdns-20.2 must use embedded cnacl which doesn't support s390x
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. build on s390x
no "plan" for s390x
cjdns-20 started using internal apis in the embedded cnacl, making use of libsodium or libnacl impossible until that code is reimplemented for libsodium/libnacl. The embedded cnacl needs a "plan" for each supported arch, and there is no plan for s390x.
An s390x person could try to port the cnacl, but I think a better effort is for a crypto person to figure out how to do the same thing with libsodium. The problem code is currently limited to crypto/Sign.c. It uses ge.h and sc.h, which are, I believe low level field and scalar operations. libnacl actually seems to export the functions under different names - but the headers would have to be patched in. That would at least be better than using the embedded library.
In the meantime, I have excluded s390x from builds:
# The nodejs build system for embedded cnacl has no "plan" for s390x.
# It might work to copy another big endian plan like ppc64.
Created attachment 1446057 [details]
WIP to replace Sign.c with test cases
The test cases in testsign.c are incomplete or incorrect, because incorporating the replacements in Sign.c fail the project test cases - which are the ultimate authority.
Created attachment 1446213 [details]
add s390x support into cnacl
I went thru the cnacl code and this is the result, it allows to build it independently with node_build/dependencies/cnacl/do or as a part of cjdns.
cjdns-20.2-2.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2018-ed28eecbd9
cjdns-20.2-2.fc28 has been pushed to the Fedora 28 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-ed28eecbd9
cjdns-20.2-2.fc28 has been pushed to the Fedora 28 stable repository. If problems still persist, please make note of it in this bug report.