summaryrefslogtreecommitdiffstats
path: root/pkgs/applications/blockchains/stellar-core.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/blockchains/stellar-core.nix')
-rw-r--r--pkgs/applications/blockchains/stellar-core.nix47
1 files changed, 47 insertions, 0 deletions
diff --git a/pkgs/applications/blockchains/stellar-core.nix b/pkgs/applications/blockchains/stellar-core.nix
new file mode 100644
index 000000000000..4c3f9fe0760b
--- /dev/null
+++ b/pkgs/applications/blockchains/stellar-core.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchgit, autoconf, libtool, automake, pkgconfig, git
+, bison, flex, postgresql }:
+
+let
+ pname = "stellar-core";
+ version = "0.5.1";
+
+in stdenv.mkDerivation {
+ name = "${pname}-${version}";
+
+ src = fetchgit {
+ url = "https://github.com/stellar/stellar-core.git";
+ rev = "refs/tags/v${version}";
+ sha256 = "0ldw3qr0sajgam38z2w2iym0214ial6iahbzx3b965cw92n8n88z";
+ fetchSubmodules = true;
+ leaveDotGit = true;
+ };
+
+ nativeBuildInputs = [ pkgconfig ];
+ buildInputs = [ autoconf automake libtool git ];
+
+ propagatedBuildInputs = [ bison flex postgresql ];
+
+ patches = [ ./stellar-core-dirty-version.patch ];
+
+ preConfigure = ''
+ # Everything needs to be staged in git because the build uses
+ # `git ls-files` to search for source files to compile.
+ git add .
+
+ ./autogen.sh
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Implements the Stellar Consensus Protocol, a federated consensus protocol";
+ longDescription = ''
+ Stellar-core is the backbone of the Stellar network. It maintains a
+ local copy of the ledger, communicating and staying in sync with other
+ instances of stellar-core on the network. Optionally, stellar-core can
+ store historical records of the ledger and participate in consensus.
+ '';
+ homepage = https://www.stellar.org/;
+ platforms = [ "x86_64-linux" ];
+ maintainers = with maintainers; [ chris-martin ];
+ license = licenses.asl20;
+ };
+}