[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] gnu: Add stellar-core.
From: |
Leo Famulari |
Subject: |
Re: [PATCH] gnu: Add stellar-core. |
Date: |
Fri, 19 Feb 2016 23:56:28 -0500 |
User-agent: |
Mutt/1.5.24 (2015-08-30) |
On Fri, Feb 19, 2016 at 02:37:38PM -0800, Christopher Allan Webber wrote:
> I forgot that I *did* make a nicer workaround, and thus the comment in
> the middle of the package definition was unnecessary.
>
> From 056400626d070fd8653cdc03a9b0fbcdc49be5df Mon Sep 17 00:00:00 2001
> From: Christopher Allan Webber <address@hidden>
> Date: Fri, 19 Feb 2016 13:47:19 -0800
> Subject: [PATCH] gnu: Add stellar-core.
>
> * gnu/packages/finance.scm (stellar-core): New variable.
> * gnu/packages/patches/stellar-core-find-mk-files.patch: New file.
Please remember to register the patch in gnu-system.am (dist_patch_DATA).
> ---
> gnu/packages/finance.scm | 60
> ++++++++++++++++++++++
> .../patches/stellar-core-find-mk-files.patch | 33 ++++++++++++
> 2 files changed, 93 insertions(+)
> create mode 100644 gnu/packages/patches/stellar-core-find-mk-files.patch
>
> diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
> index e9487d4..e208791 100644
> --- a/gnu/packages/finance.scm
> +++ b/gnu/packages/finance.scm
> @@ -1,6 +1,7 @@
> ;;; GNU Guix --- Functional package management for GNU
> ;;; Copyright © 2015 Andreas Enge <address@hidden>
> ;;; Copyright © 2016 Efraim Flashner <address@hidden>
> +;;; Copyright © 2016 Christopher Allan Webber <address@hidden>
> ;;;
> ;;; This file is part of GNU Guix.
> ;;;
> @@ -21,9 +22,15 @@
> #:use-module ((guix licenses) #:prefix license:)
> #:use-module (guix packages)
> #:use-module (guix download)
> + #:use-module (guix git-download)
> #:use-module (guix build utils)
> #:use-module (guix build-system gnu)
> + #:use-module (gnu packages)
> + #:use-module (gnu packages autogen)
> + #:use-module (gnu packages autotools)
> #:use-module (gnu packages boost)
> + #:use-module (gnu packages bison)
> + #:use-module (gnu packages flex)
> #:use-module (gnu packages databases)
> #:use-module (gnu packages linux)
> #:use-module (gnu packages pkg-config)
> @@ -81,3 +88,56 @@ collectively by the network. Bitcoin Core is the
> reference implementation
> of the bitcoin protocol. This package provides the Bitcoin Core command
> line client and a client based on Qt.")
> (license license:expat)))
> +
> +(define-public stellar-core
> + (package
> + (name "stellar-core")
> + (version "0.4.1")
> + (source (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/stellar/stellar-core.git")
> + (commit "v0.4.1")
> + (recursive? #t)))
I had to look up this property. A first time for everything!
> + (sha256
> + (base32
> + "15mm1jk2kk5x34vn9gqwp7ijhsmhm6dwymznz7hqvjj8kjd088fi"))
> + (patches (list (search-patch
> + "stellar-core-find-mk-files.patch")))))
> + (arguments
> + '(#:phases (modify-phases %standard-phases
> + (add-before 'configure 'autogen-self-and-submodules
> + (lambda _
> + (and (zero? (system* "sh" "autogen.sh"
> + ;; we'll handle submodules
> manually
> + "--skip-submodules"))
> + ;; Run autogen on libsodium too.
Upstream bundles libsodium? What's their security policy / practices?
Their libsodium submodule was last updated in July 2015, if I understand
correctly (I have no hands-on experience with submodules), but libsodium
has released 5 minor versions since then.
Is it possible to use our libsodium package?
> + ;; In the future, we might also have to manually
> + ;; run this on other git submodules which are
> + ;; introduced
> + (begin (chdir "lib/libsodium") #t)
> + (zero? (system* "sh" "autogen.sh"))
> + (begin (chdir "../..") #t)))))
This is just me asking a question for my own knowledge:
What is the difference between (begin (chdir "foo") #t) and
(chdir "foo")?
> + ;; Tries to run tests with a running postgres server...
> + ;; well, sorry, we can't do that!
> + #:tests? #f))
Is the Postgres server required for the entire test suite, or is it just
a small subset of the tests that could be disabled individually?
> + (build-system gnu-build-system)
> + (native-inputs
> + `(("pkg-config" ,pkg-config)
> + ("autoconf" ,autoconf)
> + ("automake" ,automake)
> + ("autogen" ,autogen)
> + ;; used by libsodium git submodule
> + ("libtool" ,libtool)))
> + (inputs
> + `(("bison" ,bison)
> + ("flex" ,flex)
> + ("postgresql" ,postgresql)))
> + (home-page "https://www.stellar.org/")
> + (synopsis "Communicate with the Stellar peer-to-peer network")
> + (description "Stellar-core is a replicated state machine that
> +maintains a local copy of a cryptographic ledger and processes
> +transactions against it, in consensus with a set of peers.
> +It implements the Stellar Consensus Protocol, a federated consensus
> +protocol.")
> + (license license:asl2.0)))
> diff --git a/gnu/packages/patches/stellar-core-find-mk-files.patch
> b/gnu/packages/patches/stellar-core-find-mk-files.patch
"Interesting" upstream packaging...
[...]