unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Leo Famulari <leo@famulari.name>
To: Christopher Allan Webber <cwebber@dustycloud.org>
Cc: guix-devel@gnu.org
Subject: Re: [PATCH] gnu: Add stellar-core.
Date: Fri, 19 Feb 2016 23:56:28 -0500	[thread overview]
Message-ID: <20160220045628.GD14995@jasmine> (raw)
In-Reply-To: <871t88pbqc.fsf@dustycloud.org>

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 <cwebber@dustycloud.org>
> 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 <andreas@enge.fr>
>  ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
> +;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
>  ;;;
>  ;;; 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...

[...]

  reply	other threads:[~2016-02-20  4:56 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-19 22:04 [PATCH] gnu: Add stellar-core Christopher Allan Webber
2016-02-19 22:37 ` Christopher Allan Webber
2016-02-20  4:56   ` Leo Famulari [this message]
2016-02-20  5:19     ` Christopher Allan Webber

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160220045628.GD14995@jasmine \
    --to=leo@famulari.name \
    --cc=cwebber@dustycloud.org \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).