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

libbitcoin: 2.11.0 -> 3.4.0 #32904

Merged
merged 5 commits into from Dec 21, 2017
Merged

Conversation

asymmetric
Copy link
Contributor

Motivation for this change
  • Upgrade to latest version.
  • Speed up compilation.
Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-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/)
  • Fits CONTRIBUTING.md.

Not sure what happens to all other libraries that depend on this. Do they get rebuilt against this new version?

@@ -34,8 +34,6 @@ in stdenv.mkDerivation {
platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers; [ chris-martin ];

# https://wiki.unsystem.net/en/index.php/Libbitcoin/License
# AGPL with an additional clause
license = licenses.agpl3;
Copy link
Contributor

Choose a reason for hiding this comment

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

The link is obsolete but the comment is not: the project claims to be licensed under "AGPL with a lesser clause" (where "lesser clause" must be the additional clause of LGPL: https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License#Differences_from_the_GPL)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I don't really understand. Is it AGPL or LGPL? What is the additional clause exactly?

I also couldn't find any difference between their license and the AGPL, although admittedly I didn't look very hard.

Copy link
Member

@lukateras lukateras Dec 20, 2017

Choose a reason for hiding this comment

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

Meaning, you can link it dynamically without disclosing your source code or licensing under the same license, but if you link it in statically, you should use the same license (AGPL with lesser clause).

If it were licensed under GPL you could make private changes and as long as you don't distribute them in any form (source or binary) you could just not give them back. AGPL makes network use equivalent to redistribution, i.e. any software under this license should be licensed under the same license to all users that interface with this library on any network.

@asymmetric asymmetric changed the title libbitcoin: 2.11.0 -> 3.4.0 [wip] libbitcoin: 2.11.0 -> 3.4.0 Dec 20, 2017
@asymmetric
Copy link
Contributor Author

@orivej Do you think I should include other dependent packages in this PR, such as libbitcoin-client and libbitcoin-explorer?

@asymmetric asymmetric force-pushed the asymmetric/libbitcoin branch 2 times, most recently from 0ead9fd to 43ff8c0 Compare December 20, 2017 23:19
@orivej
Copy link
Contributor

orivej commented Dec 20, 2017

This depends on the reviewer; I'd prefer if you included both of those here.


nativeBuildInputs = [ autoreconfHook pkgconfig ];
buildInputs = [ libbitcoin secp256k1 ];
propagatedBuildInputs = [ zeromq ];
Copy link
Contributor

Choose a reason for hiding this comment

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

Why is zeromq propagated?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Because otherwise when compiling libbitcoin-client I get:

checking for libbitcoin-protocol >= 3.4.0... no
configure: error: Package requirements (libbitcoin-protocol >= 3.4.0) were not met:
Package 'libzmq', required by 'libbitcoin-protocol', not found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables bitcoin_protocol_CFLAGS
and bitcoin_protocol_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I could add a zeromq parameter at the beginning of the libbitcoin-client definition, but it seems like zeromq is a direct dependency of libbitcoin-protocol instead, so I thought this makes more sense.

Copy link
Contributor

Choose a reason for hiding this comment

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

Please keep it as is.

@asymmetric asymmetric force-pushed the asymmetric/libbitcoin branch 3 times, most recently from a9aa917 to a1eab78 Compare December 21, 2017 00:47
@orivej
Copy link
Contributor

orivej commented Dec 21, 2017

Is this still WIP or do you consider it ready?

@asymmetric
Copy link
Contributor Author

Still working on it.

@asymmetric asymmetric changed the title [wip] libbitcoin: 2.11.0 -> 3.4.0 libbitcoin: 2.11.0 -> 3.4.0 Dec 21, 2017
@asymmetric
Copy link
Contributor Author

asymmetric commented Dec 21, 2017

Done. Not sure if we should run tests though. The ones for the libbitcoin package are very time consuming.

@orivej orivej merged commit 127d3ef into NixOS:master Dec 21, 2017
@asymmetric asymmetric deleted the asymmetric/libbitcoin branch December 21, 2017 16:11
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

4 participants