Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

init: holochain-go at 0.1.0-alpha #42725

Closed
wants to merge 28 commits into from

Conversation

gavinrogers
Copy link

Holochain is a platform for creating an unenclosable carrier upon which
highly-scalable dApps and smart contracts can be built. This is the holochain
team's initial implimentation in go. A rust version is under development.

Motivation for this change

Add the holochain core to nixpkgs to allow app developers to bootstrap more quickly: allow people to run their own holochain node.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Fits CONTRIBUTING.md.

Holochain is a platform for creating an unenclosable carrier upon which
highly-scalable dApps and smart contracts can be built. This is the holochain
team's initial implimentation in go. A rust version is under development.
src = fetchgit {
inherit rev;
url = "https://github.com/holochain/holochain-proto";
sha256 = "19l29jnr63ximmyn4i4llv2mdwh306c2mpzmx2anj9z12wjpach0";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you use fetchFromGitHub since you are not using git submodules?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yup, done


goDeps = ./deps.nix;

# TODO: add metadata https://nixos.org/nixpkgs/manual/#sec-standard-meta-attributes
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this one can be removed.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

@@ -0,0 +1,31 @@
# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since this was manually edited, we should not claim it was generated.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah ok that makes sense!


buildGoPackage rec {
name = "holochain-go${version}";
version = "v0.1.0-alpha";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we usually do not include the v in the name, but rather do: holochain-go-0.1.0-alpha:

nix-repl> builtins.parseDrvName "holochain-gov0.1.0-alpha"
{ name = "holochain-gov0.1.0-alpha"; version = ""; }
nix-repl> builtins.parseDrvName "holochain-go-0.1.0-alpha"
{ name = "holochain-go"; version = "0.1.0-alpha"; }

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

matthewbauer and others added 25 commits June 28, 2018 23:34
This is a good way to test that plist works.

Sorry for the large diff. There are a bunch of cleanups in here that
needed to be done. Should make it possible to use in cross
compilation.
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.

This update was made based on information from https://repology.org/metapackage/iperf/versions.

These checks were done:

- built on NixOS
- /nix/store/c7p3b3b353pssma0cg1wg78pfs6x2is3-iperf-2.0.12/bin/iperf passed the binary check.
- 1 of 1 passed binary check by having a zero exit code.
- 0 of 1 passed binary check by having the new version present in output.
- found 2.0.12 with grep in /nix/store/c7p3b3b353pssma0cg1wg78pfs6x2is3-iperf-2.0.12
- directory tree listing: https://gist.github.com/457110ea6db3cd3dbd6c9bc7ff82477a
- du listing: https://gist.github.com/86655ffd63846a5d3a473393af8e4da9
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.

This update was made based on information from https://repology.org/metapackage/eid-mw/versions.

These checks were done:

- built on NixOS
- Warning: no invocation of /nix/store/sis599r39a2g7kvnv1d09l6sy6kn45l0-eid-mw-4.4.3/bin/eid-viewer had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/sis599r39a2g7kvnv1d09l6sy6kn45l0-eid-mw-4.4.3/bin/.eid-viewer-wrapped had a zero exit code or showed the expected version
- /nix/store/sis599r39a2g7kvnv1d09l6sy6kn45l0-eid-mw-4.4.3/bin/beid-update-nssdb passed the binary check.
- /nix/store/sis599r39a2g7kvnv1d09l6sy6kn45l0-eid-mw-4.4.3/bin/eid-nssdb passed the binary check.
- 2 of 4 passed binary check by having a zero exit code.
- 0 of 4 passed binary check by having the new version present in output.
- found 4.4.3 with grep in /nix/store/sis599r39a2g7kvnv1d09l6sy6kn45l0-eid-mw-4.4.3
- directory tree listing: https://gist.github.com/3bca8b9d321e62009daf1d388923ec47
- du listing: https://gist.github.com/64220a7b5b960cbd2ec3bb5f61c93a29
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.

This update was made based on information from https://repology.org/metapackage/deadbeef-mpris2-plugin/versions.

These checks were done:

- built on NixOS

- 0 of 0 passed binary check by having a zero exit code.
- 0 of 0 passed binary check by having the new version present in output.
- found 1.11 with grep in /nix/store/isa0i2bjry1xg3l8895k10w1zwd4ij9f-deadbeef-mpris2-plugin-1.11
- directory tree listing: https://gist.github.com/020d669dc365b545d61d171c5566d03a
- du listing: https://gist.github.com/9cd938a3d8215dbc4f00d62fe20ca4f5
it should be targetPackages.darwin.iosSdkPkgs.libraries
There is some weird issue with 9.4 that needs to be resolved. 8.2 is
used by iOS anyway so that makes it easier.
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.

This update was made based on information from https://repology.org/metapackage/gdcm/versions.

These checks were done:

- built on NixOS
- /nix/store/b5k2wcykj6s3j1rax851vpzyj6amqpvk-gdcm-2.8.7/bin/gdcm2vtk passed the binary check.
- /nix/store/b5k2wcykj6s3j1rax851vpzyj6amqpvk-gdcm-2.8.7/bin/gdcmviewer passed the binary check.
- Warning: no invocation of /nix/store/b5k2wcykj6s3j1rax851vpzyj6amqpvk-gdcm-2.8.7/bin/gdcm2pnm had a zero exit code or showed the expected version
- /nix/store/b5k2wcykj6s3j1rax851vpzyj6amqpvk-gdcm-2.8.7/bin/gdcmdump passed the binary check.
- Warning: no invocation of /nix/store/b5k2wcykj6s3j1rax851vpzyj6amqpvk-gdcm-2.8.7/bin/gdcmdiff had a zero exit code or showed the expected version
- /nix/store/b5k2wcykj6s3j1rax851vpzyj6amqpvk-gdcm-2.8.7/bin/gdcmraw passed the binary check.
- /nix/store/b5k2wcykj6s3j1rax851vpzyj6amqpvk-gdcm-2.8.7/bin/gdcmscanner passed the binary check.
- /nix/store/b5k2wcykj6s3j1rax851vpzyj6amqpvk-gdcm-2.8.7/bin/gdcmanon passed the binary check.
- /nix/store/b5k2wcykj6s3j1rax851vpzyj6amqpvk-gdcm-2.8.7/bin/gdcmgendir passed the binary check.
- /nix/store/b5k2wcykj6s3j1rax851vpzyj6amqpvk-gdcm-2.8.7/bin/gdcmimg passed the binary check.
- /nix/store/b5k2wcykj6s3j1rax851vpzyj6amqpvk-gdcm-2.8.7/bin/gdcmconv passed the binary check.
- /nix/store/b5k2wcykj6s3j1rax851vpzyj6amqpvk-gdcm-2.8.7/bin/gdcmtar passed the binary check.
- /nix/store/b5k2wcykj6s3j1rax851vpzyj6amqpvk-gdcm-2.8.7/bin/gdcminfo passed the binary check.
- /nix/store/b5k2wcykj6s3j1rax851vpzyj6amqpvk-gdcm-2.8.7/bin/gdcmscu passed the binary check.
- Warning: no invocation of /nix/store/b5k2wcykj6s3j1rax851vpzyj6amqpvk-gdcm-2.8.7/bin/gdcmxml had a zero exit code or showed the expected version
- /nix/store/b5k2wcykj6s3j1rax851vpzyj6amqpvk-gdcm-2.8.7/bin/gdcmpap3 passed the binary check.
- 13 of 16 passed binary check by having a zero exit code.
- 0 of 16 passed binary check by having the new version present in output.
- found 2.8.7 with grep in /nix/store/b5k2wcykj6s3j1rax851vpzyj6amqpvk-gdcm-2.8.7
- directory tree listing: https://gist.github.com/d4d202ac57e29b5fe6d46f1e8b7b112b
- du listing: https://gist.github.com/7244757ac1449adb1adde3c480e77c8d
* treewide: http -> https sources

This updates the source urls of all top-level packages from http to
https where possible.

* buildtorrent: fix url and tab -> spaces
Address PR comments

Refactors

- Rename toPLIST -> toPlist
…dtls (NixOS#41722)

* mbedtls: build with cmake&ninja, clean-up

* mbedtls: cmake ninja Darwin build clean-up

* hiawatha: add build options, use system mbedTLS, platforms -> unix
Agree with @Mic92: "Since this was manually edited, we should not claim it was
auto generated.
More housecleaning, also as per @Mic92. He's right, as it says in the manual, to
use fetchFromGithub instead of fetchgit

> Best: Fetches a snapshot archive and you get the rev you want.
Copy link
Member

@Profpatsch Profpatsch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You made a mistake pushing the last changes.

Copy link
Author

@gavinrogers gavinrogers left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the very helpful review @Mic92, I've brought all these points into line. I somehow ended up getting some other code into this code review, I guess I shouldn't rebase onto master when doing code cleanup, as the PR stays on the same rev?

src = fetchgit {
inherit rev;
url = "https://github.com/holochain/holochain-proto";
sha256 = "19l29jnr63ximmyn4i4llv2mdwh306c2mpzmx2anj9z12wjpach0";
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yup, done


buildGoPackage rec {
name = "holochain-go${version}";
version = "v0.1.0-alpha";
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@@ -0,0 +1,31 @@
# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah ok that makes sense!


goDeps = ./deps.nix;

# TODO: add metadata https://nixos.org/nixpkgs/manual/#sec-standard-meta-attributes
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

@Mic92 Mic92 removed request for peti, edolstra and nbp June 28, 2018 22:45
@gavinrogers
Copy link
Author

#42937 Is what I've opened to replace this @Mic92 I've incorporated your feedback into commits in that PR

@gavinrogers gavinrogers closed this Jul 3, 2018
@gavinrogers gavinrogers deleted the add-holochain branch August 1, 2018 16:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet