GNU bug report logs - #39943
[PATCH 0/3] WIP: Hyperledger Iroha

Previous Next

Package: guix-patches;

Reported by: Pierre Neidhardt <mail <at> ambrevar.xyz>

Date: Fri, 6 Mar 2020 09:24:01 UTC

Severity: normal

Tags: patch

Done: Efraim Flashner <efraim <at> flashner.co.il>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 39943 in the body.
You can then email your comments to 39943 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#39943; Package guix-patches. (Fri, 06 Mar 2020 09:24:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Pierre Neidhardt <mail <at> ambrevar.xyz>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Fri, 06 Mar 2020 09:24:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <mail <at> ambrevar.xyz>
To: guix-patches <at> gnu.org
Subject: [PATCH 0/3] WIP: Hyperledger Iroha
Date: Fri,  6 Mar 2020 10:23:22 +0100
It's close to build but fails with some unreadable C++ / Boost error.
I've reported upstream:

https://jira.hyperledger.org/browse/IR-689?jql=text%20~%20%22guix%22

Anyone proficient enough in C++ / Boost to solve this?

Pierre Neidhardt (3):
  gnu: Add fmt-5.
  gnu: Add hyperledger-iroha-ed25519.
  gnu: Add hyperledger-iroha.

 gnu/packages/hyperledger.scm                  | 125 +++++++++++++++++-
 ...oha-ed25519-cmake-remove-hunter-gate.patch |  23 ++++
 gnu/packages/pretty-print.scm                 |  14 ++
 3 files changed, 157 insertions(+), 5 deletions(-)
 create mode 100644 gnu/packages/patches/hyperledger-iroha-ed25519-cmake-remove-hunter-gate.patch

-- 
2.25.1





Information forwarded to guix-patches <at> gnu.org:
bug#39943; Package guix-patches. (Fri, 06 Mar 2020 09:42:01 GMT) Full text and rfc822 format available.

Message #8 received at 39943 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <mail <at> ambrevar.xyz>
To: 39943 <at> debbugs.gnu.org
Subject: [PATCH 1/3] gnu: Add fmt-5.
Date: Fri,  6 Mar 2020 10:41:28 +0100
* gnu/packages/pretty-print.scm (fmt-5): New variable.
---
 gnu/packages/pretty-print.scm | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/gnu/packages/pretty-print.scm b/gnu/packages/pretty-print.scm
index 14fe7a1bef..74e60cbd2a 100644
--- a/gnu/packages/pretty-print.scm
+++ b/gnu/packages/pretty-print.scm
@@ -191,6 +191,20 @@ to @code{IOStreams}.")
     ;; The library is bsd-2, but documentation and tests include other licenses.
     (license (list bsd-2 bsd-3 psfl))))
 
+(define-public fmt-5                    ; fmt >= 6 API is not backward compatible.
+  (package
+    (inherit fmt)
+    (version "5.3.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/fmtlib/fmt")
+                    (commit version)))
+              (file-name (git-file-name (package-name fmt) version))
+              (sha256
+               (base32
+                "1hl9s69a5ql5nckc0ifh2fzlgsgv1wsn6yhqkpnrhasqkhj0hgv4"))))))
+
 (define-public source-highlight
   (package
     (name "source-highlight")
-- 
2.25.1





Information forwarded to guix-patches <at> gnu.org:
bug#39943; Package guix-patches. (Fri, 06 Mar 2020 09:42:02 GMT) Full text and rfc822 format available.

Message #11 received at 39943 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <mail <at> ambrevar.xyz>
To: 39943 <at> debbugs.gnu.org
Subject: [PATCH 2/3] gnu: Add hyperledger-iroha-ed25519.
Date: Fri,  6 Mar 2020 10:41:29 +0100
* gnu/packages/hyperledger.scm (hyperledger-iroha-ed25519): New variable.
---
 gnu/packages/hyperledger.scm | 62 ++++++++++++++++++++++++++++++++++--
 1 file changed, 60 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/hyperledger.scm b/gnu/packages/hyperledger.scm
index 158a66e898..1fb76e3504 100644
--- a/gnu/packages/hyperledger.scm
+++ b/gnu/packages/hyperledger.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2019 Pierre Neidhardt <mail <at> ambrevar.xyz>
+;;; Copyright © 2019, 2020 Pierre Neidhardt <mail <at> ambrevar.xyz>
 ;;; Copyright © 2019 Tobias Geerinckx-Rice <me <at> tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -20,16 +20,18 @@
 (define-module (gnu packages hyperledger)
   #:use-module (ice-9 match)
   #:use-module (guix build-system go)
-  #:use-module (guix build-system trivial)
+  #:use-module (guix build-system cmake)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix licenses)
   #:use-module (gnu packages)
   #:use-module (gnu packages base)
+  #:use-module (gnu packages check)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages docker)
   #:use-module (gnu packages golang)
+  #:use-module (gnu packages tls)
   #:use-module (gnu packages version-control))
 
 (define-public hyperledger-fabric
@@ -93,3 +95,59 @@ solutions, underpinned by a modular architecture focusing on confidentiality
 and resiliency.  It is designed to support pluggable implementations of
 different components.")
     (license asl2.0)))
+
+(define-public hyperledger-iroha-ed25519 ;; TODO: Public or not?
+  (package
+    (name "hyperledger-iroha-ed25519")
+    (version "2.0.2")
+    (home-page "https://github.com/hyperledger/iroha-ed25519")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url home-page)
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (patches
+               (search-patches
+                "hyperledger-iroha-ed25519-cmake-remove-hunter-gate.patch"))
+              ;; (modules '((guix build utils)))
+              ;; (snippet '(delete-file "./cmake/dependencies.cmake"))
+              (sha256
+               (base32
+                "0kr1zwah8mhnpfrpk3h6hdafyqdl3ixhs7czdfscqv6vxqfiabc4"))))
+    (build-system cmake-build-system)
+    (inputs
+     `(("openssl" ,openssl)))
+    (native-inputs
+     `(("googletest" ,googletest)))
+    (arguments
+     `(#:tests? #f                      ; Tests don't build because CMake cannot find GTest main.
+       #:configure-flags '("-DTESTING=OFF"
+                           "-DBUILD=SHARED"
+                           "-DEDIMPL=ref10" ; TODO: Use x86_64 should use amd64-64-24k-pic but it fails to link. https://github.com/hyperledger/iroha-ed25519/issues/6.
+                           "-DHASH=sha3_brainhub")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'remove-hunter-gate-fetch
+           (lambda _
+             (substitute* "cmake/dependencies.cmake"
+               ;; (("hunter_add_package\\(benchmark\\)") "")
+               (("hunter_add_package\\(GTest\\)") ""))
+             #t)))))
+    (synopsis "Ed25519 digital signature algorithm")
+    (description "This repository aims to provide modularized implementation
+of the Ed25519 digital signature algorithm which is is described in
+RFC8032 (@url{https://tools.ietf.org/html/rfc8032}).
+
+Originally Ed25519 consists of three modules:
+
+@itemize
+@item digital signature algorithm itself
+@item SHA512 hash function
+@item random number generator, to generate keypairs
+@end itemize
+
+This project offers at least two different C implementations for every
+module.  Every implementation can be replaced with another one at
+link-time.  New implementations can be added as well.")
+    (license asl2.0)))
-- 
2.25.1





Information forwarded to guix-patches <at> gnu.org:
bug#39943; Package guix-patches. (Tue, 10 Mar 2020 08:23:02 GMT) Full text and rfc822 format available.

Message #14 received at 39943 <at> debbugs.gnu.org (full text, mbox):

From: Efraim Flashner <efraim <at> flashner.co.il>
To: 39943 <at> debbugs.gnu.org
Cc: Efraim Flashner <efraim <at> flashner.co.il>
Subject: [PATCH v2 0/4] WIP: Hyperledger Iroha
Date: Tue, 10 Mar 2020 10:21:25 +0200
I fixed the boost errors by using boost-1.69, which of course is
suboptimal. There were other linking errors with grpc so I made it also
produce a shared library and adjusted tensorflow so the changes don't
break building that.

Efraim Flashner (2):
  gnu: grpc: Build shared libraries.
  gnu: Add boost-1.69.

Pierre Neidhardt (2):
  gnu: Add hyperledger-iroha-ed25519.
  gnu: Add hyperledger-iroha.

 gnu/packages/boost.scm            |  25 +++++-
 gnu/packages/hyperledger.scm      | 129 +++++++++++++++++++++++++++++-
 gnu/packages/machine-learning.scm |  43 +++++++++-
 3 files changed, 190 insertions(+), 7 deletions(-)

-- 
2.25.1





Information forwarded to guix-patches <at> gnu.org:
bug#39943; Package guix-patches. (Tue, 10 Mar 2020 08:25:01 GMT) Full text and rfc822 format available.

Message #17 received at 39943 <at> debbugs.gnu.org (full text, mbox):

From: Efraim Flashner <efraim <at> flashner.co.il>
To: 39943 <at> debbugs.gnu.org
Cc: Efraim Flashner <efraim <at> flashner.co.il>
Subject: [PATCH v2 0/4] WIP: Hyperledger Iroha
Date: Tue, 10 Mar 2020 10:23:18 +0200
I fixed the boost errors by using boost-1.69, which of course is
suboptimal. There were other linking errors with grpc so I made it also
produce a shared library and adjusted tensorflow so the changes don't
break building that.

Efraim Flashner (2):
  gnu: grpc: Build shared libraries.
  gnu: Add boost-1.69.

Pierre Neidhardt (2):
  gnu: Add hyperledger-iroha-ed25519.
  gnu: Add hyperledger-iroha.

 gnu/packages/boost.scm            |  25 +++++-
 gnu/packages/hyperledger.scm      | 129 +++++++++++++++++++++++++++++-
 gnu/packages/machine-learning.scm |  43 +++++++++-
 3 files changed, 190 insertions(+), 7 deletions(-)

-- 
2.25.1





Information forwarded to guix-patches <at> gnu.org:
bug#39943; Package guix-patches. (Tue, 10 Mar 2020 08:26:02 GMT) Full text and rfc822 format available.

Message #20 received at 39943 <at> debbugs.gnu.org (full text, mbox):

From: Efraim Flashner <efraim <at> flashner.co.il>
To: 39943 <at> debbugs.gnu.org
Cc: Efraim Flashner <efraim <at> flashner.co.il>
Subject: [PATCH v2 0/4] WIP: Hyperledger Iroha
Date: Tue, 10 Mar 2020 10:24:21 +0200
I fixed the boost errors by using boost-1.69, which of course is
suboptimal. There were other linking errors with grpc so I made it also
produce a shared library and adjusted tensorflow so the changes don't
break building that.

Efraim Flashner (2):
  gnu: grpc: Build shared libraries.
  gnu: Add boost-1.69.

Pierre Neidhardt (2):
  gnu: Add hyperledger-iroha-ed25519.
  gnu: Add hyperledger-iroha.

 gnu/packages/boost.scm            |  25 +++++-
 gnu/packages/hyperledger.scm      | 129 +++++++++++++++++++++++++++++-
 gnu/packages/machine-learning.scm |  43 +++++++++-
 3 files changed, 190 insertions(+), 7 deletions(-)

-- 
2.25.1





Information forwarded to guix-patches <at> gnu.org:
bug#39943; Package guix-patches. (Tue, 10 Mar 2020 08:27:01 GMT) Full text and rfc822 format available.

Message #23 received at 39943 <at> debbugs.gnu.org (full text, mbox):

From: Efraim Flashner <efraim <at> flashner.co.il>
To: 39943 <at> debbugs.gnu.org
Cc: Efraim Flashner <efraim <at> flashner.co.il>
Subject: [PATCH v2 0/4] WIP: Hyperledger Iroha
Date: Tue, 10 Mar 2020 10:25:20 +0200
I fixed the boost errors by using boost-1.69, which of course is
suboptimal. There were other linking errors with grpc so I made it also
produce a shared library and adjusted tensorflow so the changes don't
break building that.

Efraim Flashner (2):
  gnu: grpc: Build shared libraries.
  gnu: Add boost-1.69.

Pierre Neidhardt (2):
  gnu: Add hyperledger-iroha-ed25519.
  gnu: Add hyperledger-iroha.

 gnu/packages/boost.scm            |  25 +++++-
 gnu/packages/hyperledger.scm      | 129 +++++++++++++++++++++++++++++-
 gnu/packages/machine-learning.scm |  43 +++++++++-
 3 files changed, 190 insertions(+), 7 deletions(-)

-- 
2.25.1





Information forwarded to guix-patches <at> gnu.org:
bug#39943; Package guix-patches. (Tue, 10 Mar 2020 08:32:02 GMT) Full text and rfc822 format available.

Message #26 received at 39943 <at> debbugs.gnu.org (full text, mbox):

From: Efraim Flashner <efraim <at> flashner.co.il>
To: 39943 <at> debbugs.gnu.org
Cc: Efraim Flashner <efraim <at> flashner.co.il>
Subject: [PATCH v2 0/4] WIP: Hyperledger Iroha
Date: Tue, 10 Mar 2020 10:31:01 +0200
I fixed the boost errors by using boost-1.69, which of course is
suboptimal. There were other linking errors with grpc so I made it also
produce a shared library and adjusted tensorflow so the changes don't
break building that.

Efraim Flashner (2):
  gnu: grpc: Build shared libraries.
  gnu: Add boost-1.69.

Pierre Neidhardt (2):
  gnu: Add hyperledger-iroha-ed25519.
  gnu: Add hyperledger-iroha.

 gnu/packages/boost.scm            |  25 +++++-
 gnu/packages/hyperledger.scm      | 129 +++++++++++++++++++++++++++++-
 gnu/packages/machine-learning.scm |  43 +++++++++-
 3 files changed, 190 insertions(+), 7 deletions(-)

-- 
2.25.1





Information forwarded to guix-patches <at> gnu.org:
bug#39943; Package guix-patches. (Tue, 10 Mar 2020 08:33:02 GMT) Full text and rfc822 format available.

Message #29 received at 39943 <at> debbugs.gnu.org (full text, mbox):

From: Efraim Flashner <efraim <at> flashner.co.il>
To: 39943 <at> debbugs.gnu.org
Cc: Efraim Flashner <efraim <at> flashner.co.il>
Subject: [PATCH v2 1/4] gnu: grpc: Build shared libraries.
Date: Tue, 10 Mar 2020 10:31:02 +0200
* gnu/packages/machine-learning.scm (grpc)[outputs]: Add static.
[arguments]: Copy configure-flags from cmake-build-system. Add custom
phases 'configure-shared, 'install-shared-libraries and 'move-static-libs
to build shared libs and move static libs to their own output.
(tensorflow)[native-inputs]: Add grpc:static.
---
 gnu/packages/machine-learning.scm | 43 ++++++++++++++++++++++++++++---
 1 file changed, 40 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 50c41dc113..52e639723b 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado <at> elephly.net>
-;;; Copyright © 2016 Efraim Flashner <efraim <at> flashner.co.il>
+;;; Copyright © 2016, 2020 Efraim Flashner <efraim <at> flashner.co.il>
 ;;; Copyright © 2016, 2017 Marius Bakke <mbakke <at> fastmail.com>
 ;;; Copyright © 2016 Hartmut Goebel <h.goebel <at> crazy-compilers.com>
 ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me <at> tobias.gr>
@@ -1285,6 +1285,7 @@ Python.")
   (package
     (name "grpc")
     (version "1.16.1")
+    (outputs '("out" "static"))
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -1301,7 +1302,42 @@ Python.")
        (list "-DgRPC_ZLIB_PROVIDER=package"
              "-DgRPC_CARES_PROVIDER=package"
              "-DgRPC_SSL_PROVIDER=package"
-             "-DgRPC_PROTOBUF_PROVIDER=package")))
+             "-DgRPC_PROTOBUF_PROVIDER=package"
+             (string-append "-DCMAKE_INSTALL_PREFIX="
+                            (assoc-ref %outputs "out"))
+             "-DCMAKE_INSTALL_LIBDIR=lib"
+             (string-append "-DCMAKE_INSTALL_RPATH="
+                            (assoc-ref %outputs "out") "/lib")
+             "-DCMAKE_VERBOSE_MAKEFILE=ON")
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'configure-shared
+           (lambda* (#:key (configure-flags '()) #:allow-other-keys)
+             (mkdir "../build-shared")
+             (with-directory-excursion "../build-shared"
+               (apply invoke
+                      "cmake" "../source"
+                      "-DBUILD_SHARED_LIBS=ON"
+                      configure-flags)
+               (apply invoke "make"
+                      `("-j" ,(number->string (parallel-job-count)))))))
+         (add-after 'install 'install-shared-libraries
+           (lambda _
+             (with-directory-excursion "../build-shared"
+               (invoke "make" "install"))))
+         (add-before 'strip 'move-static-libs
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out"))
+                   (static (assoc-ref outputs "static")))
+               (mkdir-p (string-append static "/lib"))
+               (with-directory-excursion
+                 (string-append out "/lib")
+                 (for-each
+                   (lambda (file)
+                     (rename-file file
+                                  (string-append static "/lib/" file)))
+                   (find-files "." "\\.a$"))))
+             #t)))))
     (inputs
      `(("c-ares" ,c-ares/cmake)
        ("openssl" ,openssl)
@@ -1731,6 +1767,7 @@ INSTALL_RPATH " (assoc-ref outputs "out") "/lib)\n")))
              (sha256
               (base32
                "161g9841rjfsy5pn52fcis0s9hdr7rxvb06pad38j5rppfihvign")))))
+       ("grpc" ,grpc "static")
        ("googletest" ,googletest)
        ("swig" ,swig)
        ("unzip" ,unzip)))
@@ -1752,7 +1789,7 @@ INSTALL_RPATH " (assoc-ref outputs "out") "/lib)\n")))
        ("libjpeg" ,libjpeg)
        ("libpng" ,libpng)
        ("giflib" ,giflib)
-       ("grpc" ,grpc)
+       ("grpc:bin" ,grpc)
        ("jsoncpp" ,jsoncpp-for-tensorflow)
        ("snappy" ,snappy)
        ("sqlite" ,sqlite)
-- 
2.25.1





Information forwarded to guix-patches <at> gnu.org:
bug#39943; Package guix-patches. (Tue, 10 Mar 2020 08:33:02 GMT) Full text and rfc822 format available.

Message #32 received at 39943 <at> debbugs.gnu.org (full text, mbox):

From: Efraim Flashner <efraim <at> flashner.co.il>
To: 39943 <at> debbugs.gnu.org
Cc: Pierre Neidhardt <mail <at> ambrevar.xyz>
Subject: [PATCH v2 2/4] gnu: Add hyperledger-iroha-ed25519.
Date: Tue, 10 Mar 2020 10:31:03 +0200
From: Pierre Neidhardt <mail <at> ambrevar.xyz>

* gnu/packages/hyperledger.scm (hyperledger-iroha-ed25519): New variable.
---
 gnu/packages/hyperledger.scm | 45 +++++++++++++++++++++++++++++++++++-
 1 file changed, 44 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/hyperledger.scm b/gnu/packages/hyperledger.scm
index 158a66e898..71194fba38 100644
--- a/gnu/packages/hyperledger.scm
+++ b/gnu/packages/hyperledger.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2019 Pierre Neidhardt <mail <at> ambrevar.xyz>
+;;; Copyright © 2019, 2020 Pierre Neidhardt <mail <at> ambrevar.xyz>
 ;;; Copyright © 2019 Tobias Geerinckx-Rice <me <at> tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -93,3 +93,46 @@ solutions, underpinned by a modular architecture focusing on confidentiality
 and resiliency.  It is designed to support pluggable implementations of
 different components.")
     (license asl2.0)))
+
+(define-public hyperledger-iroha-ed25519
+  (package
+    (name "hyperledger-iroha-ed25519")
+    (version "2.0.2")
+    (home-page "https://github.com/hyperledger/iroha-ed25519")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url home-page)
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0kr1zwah8mhnpfrpk3h6hdafyqdl3ixhs7czdfscqv6vxqfiabc4"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("googletest" ,googletest)))
+    (arguments
+     `(#:tests? #f      ; Tests don't build because CMake cannot find GTest main.
+       #:configure-flags '("-DHUNTER_ENABLED=OFF"
+                           "-DBUILD=SHARED"
+                           ;; TODO: x86_64 should use amd64-64-24k-pic but it
+                           ;; fails to link when built as a shared library.
+                           "-DEDIMPL=ref10"
+                           "-DHASH=sha3_brainhub")))
+    (synopsis "Ed25519 digital signature algorithm")
+    (description "This repository aims to provide modularized implementation
+of the Ed25519 digital signature algorithm which is is described in
+RFC8032 (@url{https://tools.ietf.org/html/rfc8032}).
+
+Originally Ed25519 consists of three modules:
+
+@itemize
+@item digital signature algorithm itself
+@item SHA512 hash function
+@item random number generator, to generate keypairs
+@end itemize
+
+This project offers at least two different C implementations for every
+module.  Every implementation can be replaced with another one at
+link-time.  New implementations can be added as well.")
+    (license asl2.0)))
-- 
2.25.1





Information forwarded to guix-patches <at> gnu.org:
bug#39943; Package guix-patches. (Tue, 10 Mar 2020 08:34:02 GMT) Full text and rfc822 format available.

Message #35 received at 39943 <at> debbugs.gnu.org (full text, mbox):

From: Efraim Flashner <efraim <at> flashner.co.il>
To: 39943 <at> debbugs.gnu.org
Cc: Efraim Flashner <efraim <at> flashner.co.il>
Subject: [PATCH v2 3/4] gnu: Add boost-1.69.
Date: Tue, 10 Mar 2020 10:31:04 +0200
* gnu/packages/boost.scm (boost-1.69): New hidden package.
---
 gnu/packages/boost.scm | 25 ++++++++++++++++++++++++-
 1 file changed, 24 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm
index 11fb8e1201..8bf2002adb 100644
--- a/gnu/packages/boost.scm
+++ b/gnu/packages/boost.scm
@@ -9,7 +9,7 @@
 ;;; Copyright © 2018 Arun Isaac <arunisaac <at> systemreboot.net>
 ;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado <at> elephly.net>
 ;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
-;;; Copyright © 2018 Efraim Flashner <efraim <at> flashner.co.il>
+;;; Copyright © 2018, 2020 Efraim Flashner <efraim <at> flashner.co.il>
 ;;; Copyright © 2019 Giacomo Leidi <goodoldpaul <at> autistici.org>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -195,6 +195,29 @@ across a broad spectrum of applications.")
                    (symlink "libboost_python27.a" "libboost_python.a"))
                  #t)))))))))
 
+(define-public boost-1.69
+  (package
+    (inherit boost)
+    (name "boost")
+    (version "1.69.0")
+    (source (origin
+              (method url-fetch)
+              (uri (let ((version-with-underscores
+                          (string-map (lambda (x) (if (eq? x #\.) #\_ x)) version)))
+                     (list (string-append "mirror://sourceforge/boost/boost/" version
+                                          "/boost_" version-with-underscores ".tar.bz2")
+                           (string-append "https://dl.bintray.com/boostorg/release/"
+                                          version "/source/boost_"
+                                          version-with-underscores ".tar.bz2"))))
+              (sha256
+               (base32
+                "01j4n142dz20lcgqji8d8hspp04p1nv7m8i6dz8w5lchfdhx8clg"))))
+    (arguments
+     (substitute-keyword-arguments (package-arguments boost)
+       ((#:make-flags flags)
+        `(cons* "cxxflags=-std=c++14" ,flags))))
+    (properties '((hidden? . #t)))))
+
 (define-public boost-for-mysql
   ;; Older version for MySQL 5.7.23.
   (package
-- 
2.25.1





Information forwarded to guix-patches <at> gnu.org:
bug#39943; Package guix-patches. (Tue, 10 Mar 2020 08:35:01 GMT) Full text and rfc822 format available.

Message #38 received at 39943 <at> debbugs.gnu.org (full text, mbox):

From: Efraim Flashner <efraim <at> flashner.co.il>
To: 39943 <at> debbugs.gnu.org
Cc: Pierre Neidhardt <mail <at> ambrevar.xyz>
Subject: [PATCH v2 4/4] gnu: Add hyperledger-iroha.
Date: Tue, 10 Mar 2020 10:31:05 +0200
From: Pierre Neidhardt <mail <at> ambrevar.xyz>

This package was co-authored with Efraim Flashner <efraim <at> flashner.co.il>

* gnu/packages/hyperledger.scm (hyperledger-iroha): New variable.
---
 gnu/packages/hyperledger.scm | 84 +++++++++++++++++++++++++++++++++++-
 1 file changed, 82 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/hyperledger.scm b/gnu/packages/hyperledger.scm
index 71194fba38..697074d9a9 100644
--- a/gnu/packages/hyperledger.scm
+++ b/gnu/packages/hyperledger.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2019, 2020 Pierre Neidhardt <mail <at> ambrevar.xyz>
 ;;; Copyright © 2019 Tobias Geerinckx-Rice <me <at> tobias.gr>
+;;; Copyright © Efraim Flashner <efraim <at> flashner.co.il>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -19,18 +20,28 @@
 
 (define-module (gnu packages hyperledger)
   #:use-module (ice-9 match)
+  #:use-module (guix build-system cmake)
   #:use-module (guix build-system go)
-  #:use-module (guix build-system trivial)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix licenses)
   #:use-module (gnu packages)
   #:use-module (gnu packages base)
+  #:use-module (gnu packages boost)
+  #:use-module (gnu packages check)
   #:use-module (gnu packages curl)
+  #:use-module (gnu packages databases)
   #:use-module (gnu packages docker)
   #:use-module (gnu packages golang)
-  #:use-module (gnu packages version-control))
+  #:use-module (gnu packages logging)
+  #:use-module (gnu packages machine-learning)
+  #:use-module (gnu packages popt)
+  #:use-module (gnu packages pretty-print)
+  #:use-module (gnu packages protobuf)
+  #:use-module (gnu packages tbb)
+  #:use-module (gnu packages version-control)
+  #:use-module (gnu packages web))
 
 (define-public hyperledger-fabric
   (package
@@ -136,3 +147,72 @@ This project offers at least two different C implementations for every
 module.  Every implementation can be replaced with another one at
 link-time.  New implementations can be added as well.")
     (license asl2.0)))
+
+(define-public hyperledger-iroha
+  (package
+    (name "hyperledger-iroha")
+    (version "1.1.1")
+    (home-page "https://github.com/hyperledger/iroha")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url home-page)
+                     (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "014mbwq059yxwihw0mq8zgns53fsw8ckczi1lw8q9pz3pk86pa9b"))
+              (modules '((guix build utils)))
+              (snippet
+               '(begin
+                  ;; Backport unversioned fmt dependency:
+                  (substitute* "libs/logger/logger.hpp"
+                    (("fmt::v5") "fmt"))
+                  #t))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:configure-flags
+       '("-DTESTING=OFF"
+         ; Don't install the shared libraries of the dependencies:
+         "-DENABLE_LIBS_PACKAGING=OFF")
+       #:tests? #f
+       #:test-target "."
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'change-compilation-flags
+           (lambda _
+             (substitute* "cmake/functions.cmake"
+               (("-Werror") ""))
+             #t)))))
+    ;; See https://iroha.readthedocs.io/en/latest/build/index.html.
+    (native-inputs
+     `(("googletest" ,googletest)))
+    (inputs
+     `(("boost" ,boost-1.69)
+       ("fmt" ,fmt)
+       ("gflags" ,gflags)
+       ("grpc" ,grpc)
+       ("hyperledger-iroha-ed25519" ,hyperledger-iroha-ed25519)
+       ("postgresql" ,postgresql)
+       ("protobuf" ,protobuf)
+       ("rapidjson" ,rapidjson)
+       ("rxcpp" ,rxcpp)
+       ("soci" ,soci)
+       ("spdlog" ,spdlog)
+       ("tbb" ,tbb)))
+    (synopsis "Simple, decentralized ledger")
+    (description "Iroha is a distributed ledger technology (DLT). Iroha has
+essential functionality for your asset, information and identity management
+needs, at the same time being a crash fault-tolerant tool.
+
+Iroha has the following features:
+
+@itemize
+@item Creation and management of custom fungible assets, such as currencies, kilos of gold, etc.
+@item Management of user accounts
+@item Taxonomy of accounts based on domains in the system
+@item The system of rights and verification of user permissions for the execution of transactions and queries in the system
+@item Validation of business rules for transactions and queries in the system
+@item Multisignature transactions
+@end itemize\n")
+    (license asl2.0)))
-- 
2.25.1





Information forwarded to guix-patches <at> gnu.org:
bug#39943; Package guix-patches. (Wed, 11 Mar 2020 14:14:02 GMT) Full text and rfc822 format available.

Message #41 received at 39943 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <mail <at> ambrevar.xyz>
To: Efraim Flashner <efraim <at> flashner.co.il>, 39943 <at> debbugs.gnu.org
Subject: Re: [PATCH v2 4/4] gnu: Add hyperledger-iroha.
Date: Wed, 11 Mar 2020 15:13:25 +0100
[Message part 1 (text/plain, inline)]
I've tested it and run the example here
https://iroha.readthedocs.io/en/latest/getting_started/cli-guide.html
It works!

Patch looks good, feel free to merge.
A few comments below:

> +              (snippet
> +               '(begin
> +                  ;; Backport unversioned fmt dependency:
> +                  (substitute* "libs/logger/logger.hpp"
> +                    (("fmt::v5") "fmt"))
> +                  #t))))

Mention the commit you've sent me and that this should be removed on
next update.

> +    (build-system cmake-build-system)
> +    (arguments
> +     `(#:configure-flags
> +       '("-DTESTING=OFF"
> +         ; Don't install the shared libraries of the dependencies:
> +         "-DENABLE_LIBS_PACKAGING=OFF")
> +       #:tests? #f

Explain why the tests must be disabled.

> +       #:test-target "."

Why setting the test-target if you are not running it?

> +       #:phases
> +       (modify-phases %standard-phases
> +         (add-after 'unpack 'change-compilation-flags
> +           (lambda _
> +             (substitute* "cmake/functions.cmake"
> +               (("-Werror") ""))
> +             #t)))))

Why do you need to do this?

> +    ;; See https://iroha.readthedocs.io/en/latest/build/index.html.
> +    (native-inputs
> +     `(("googletest" ,googletest)))
> +    (inputs
> +     `(("boost" ,boost-1.69)
> +       ("fmt" ,fmt)
> +       ("gflags" ,gflags)
> +       ("grpc" ,grpc)
> +       ("hyperledger-iroha-ed25519" ,hyperledger-iroha-ed25519)
> +       ("postgresql" ,postgresql)
> +       ("protobuf" ,protobuf)
> +       ("rapidjson" ,rapidjson)
> +       ("rxcpp" ,rxcpp)
> +       ("soci" ,soci)
> +       ("spdlog" ,spdlog)
> +       ("tbb" ,tbb)))
> +    (synopsis "Simple, decentralized ledger")
> +    (description "Iroha is a distributed ledger technology (DLT). Iroha has

Double spacing.

Thanks!
Cheers!

-- 
Pierre Neidhardt
https://ambrevar.xyz/
[signature.asc (application/pgp-signature, inline)]

Reply sent to Efraim Flashner <efraim <at> flashner.co.il>:
You have taken responsibility. (Thu, 12 Mar 2020 13:42:01 GMT) Full text and rfc822 format available.

Notification sent to Pierre Neidhardt <mail <at> ambrevar.xyz>:
bug acknowledged by developer. (Thu, 12 Mar 2020 13:42:02 GMT) Full text and rfc822 format available.

Message #46 received at 39943-done <at> debbugs.gnu.org (full text, mbox):

From: Efraim Flashner <efraim <at> flashner.co.il>
To: Pierre Neidhardt <mail <at> ambrevar.xyz>
Cc: 39943-done <at> debbugs.gnu.org
Subject: Re: [PATCH v2 4/4] gnu: Add hyperledger-iroha.
Date: Thu, 12 Mar 2020 15:40:55 +0200
[Message part 1 (text/plain, inline)]
On Wed, Mar 11, 2020 at 03:13:25PM +0100, Pierre Neidhardt wrote:
> I've tested it and run the example here
> https://iroha.readthedocs.io/en/latest/getting_started/cli-guide.html
> It works!
> 
> Patch looks good, feel free to merge.
> A few comments below:
> 
> > +              (snippet
> > +               '(begin
> > +                  ;; Backport unversioned fmt dependency:
> > +                  (substitute* "libs/logger/logger.hpp"
> > +                    (("fmt::v5") "fmt"))
> > +                  #t))))
> 
> Mention the commit you've sent me and that this should be removed on
> next update.

Done

> 
> > +    (build-system cmake-build-system)
> > +    (arguments
> > +     `(#:configure-flags
> > +       '("-DTESTING=OFF"
> > +         ; Don't install the shared libraries of the dependencies:
> > +         "-DENABLE_LIBS_PACKAGING=OFF")
> > +       #:tests? #f
> 
> Explain why the tests must be disabled.
> 

Noted

> > +       #:test-target "."
> 
> Why setting the test-target if you are not running it?
> 

I added a note to the build instructions, for when we can run the tests

> > +       #:phases
> > +       (modify-phases %standard-phases
> > +         (add-after 'unpack 'change-compilation-flags
> > +           (lambda _
> > +             (substitute* "cmake/functions.cmake"
> > +               (("-Werror") ""))
> > +             #t)))))
> 
> Why do you need to do this?
> 

Turns out we don't, I removed it

> > +    ;; See https://iroha.readthedocs.io/en/latest/build/index.html.
> > +    (native-inputs
> > +     `(("googletest" ,googletest)))
> > +    (inputs
> > +     `(("boost" ,boost-1.69)
> > +       ("fmt" ,fmt)
> > +       ("gflags" ,gflags)
> > +       ("grpc" ,grpc)
> > +       ("hyperledger-iroha-ed25519" ,hyperledger-iroha-ed25519)
> > +       ("postgresql" ,postgresql)
> > +       ("protobuf" ,protobuf)
> > +       ("rapidjson" ,rapidjson)
> > +       ("rxcpp" ,rxcpp)
> > +       ("soci" ,soci)
> > +       ("spdlog" ,spdlog)
> > +       ("tbb" ,tbb)))
> > +    (synopsis "Simple, decentralized ledger")
> > +    (description "Iroha is a distributed ledger technology (DLT). Iroha has
> 
> Double spacing.
> 
> Thanks!
> Cheers!
> 
> -- 
> Pierre Neidhardt
> https://ambrevar.xyz/



-- 
Efraim Flashner   <efraim <at> flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#39943; Package guix-patches. (Thu, 12 Mar 2020 13:46:01 GMT) Full text and rfc822 format available.

Message #49 received at 39943-done <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <mail <at> ambrevar.xyz>
To: Efraim Flashner <efraim <at> flashner.co.il>
Cc: 39943-done <at> debbugs.gnu.org
Subject: Re: [PATCH v2 4/4] gnu: Add hyperledger-iroha.
Date: Thu, 12 Mar 2020 14:45:48 +0100
[Message part 1 (text/plain, inline)]
Thanks a lot!

-- 
Pierre Neidhardt
https://ambrevar.xyz/
[signature.asc (application/pgp-signature, inline)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 10 Apr 2020 11:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 353 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.