Subject: new package 'flowee'.

From: Tom Zander <[email-masked]>
Date: Tue, 14 Apr 2020 09:27:00 +0200

Please merge.

-- 
Tom Zander

>From 0d5cd3f28daed7320fcd879fa4e0d1351856127a Mon Sep 17 00:00:00 2001
From: TomZ <[email-masked]>
Date: Sat, 11 Apr 2020 14:56:49 +0200
Subject: [PATCH] gnu: Add flowee.

* gnu/packages/finance.scm (flowee): New variable.
---
 gnu/packages/finance.scm | 66 +++++++++++++++++++++++++++++++++++++++-
 1 file changed, 65 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index aa71335040..4449781463 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -1412,7 +1412,7 @@ a Qt GUI.")
        (uri (string-append "https://gitlab.com/FloweeTheHub/fulcrum/-/archive/v"
                            version "/fulcrum-v" version ".tar.gz"))
        (sha256
-        (base32 "1c1hkik8avill8ha33g76rk4b03j5ac8wiml69q4jav7a63ywgfy"))))
+        (base32 "1ajd5axv9zyhh6njrvamm11zn52j1q4j3mwn2nfv7cjd4lhnhlsr"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases
@@ -1440,6 +1440,70 @@ walets in a fast and small server.  The full data is stored in a full node,
 like Flowee the Hub, which Fulcrum connects to over RPC.")
     (license license:gpl3+)))
 
+(package
+  (name "flowee")
+  (version "2020.03.1")
+  (source (origin
+         (method url-fetch)
+         (uri (string-append "https://gitlab.com/FloweeTheHub/thehub/-/archive/"
+                             version "/thehub-" version ".tar.gz"))
+          (sha256
+            (base32
+             "1w20haldxlnppi2lkn5xsmw8cnxpcc92yradhb823d2ih66ybp0l"))))
+  (build-system cmake-build-system)
+  (arguments
+   `(#:configure-flags '("-Dbuild_tests=ON" "-Denable_gui=OFF")
+     #:phases
+      (modify-phases %standard-phases
+        (add-before 'configure 'make-qt-deterministic
+          (lambda _
+            ; Make Qt deterministic.
+            (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1")
+           #t))
+        (add-before 'configure 'disable-black-box
+          ; the black-box testing runs full hubs and lets them interact.
+          ; this is more fragile and a slow machine, or low memory machine, may
+          ; make the tests timeout and fail.  We just disable them here.
+          (lambda _
+            (substitute* "testing/CMakeLists.txt"
+              (("test_api") ""))
+            #t))
+        (add-after 'configure 'set-build-info
+          ; Their genbuild.sh to generate a build.h fails in guix (no .git dir) .
+          ; Its purpose is to write the tag name in the build.h file. We do that
+          ; here instead.
+          (lambda _
+            (with-output-to-file "include/build.h"
+              (lambda _
+                (display
+                  (string-append "#define BUILD_DESC " "\"", version "\""))))))
+        (add-before 'check 'set-home
+          (lambda _
+            (setenv "HOME" (getenv "TMPDIR")) ; tests write to $HOME
+            #t))
+        (replace 'check
+          (lambda _
+            (invoke "make" "check" "-C" "testing"))))))
+  (inputs
+   `(("boost" ,boost)
+     ("libevent" ,libevent)
+     ("miniupnpc" ,miniupnpc)
+     ("qtbase" ,qtbase)
+     ("gmp" ,gmp)
+     ("openssl" ,openssl)))
+  (native-inputs
+   `(("pkg-config" ,pkg-config)
+     ("util-linux" ,util-linux)       ; provides the hexdump command for tests
+     ("qttools" ,qttools)))
+  (home-page "https://flowee.org")
+  (synopsis "Flowee infrastructure tools and services")
+  (description
+   "Flowee packages all tier-1 applications and services from the Flowee group.
+This includes components like The Hub and Indexer which and various others
+that allows you to run services and through them access the Bitcoin Cash networks.")
+  (license license:gpl3+))
+
+
 (define-public beancount
   (package
     (name "beancount")
-- 
2.25.1