Subject: [PATCH 1/2] gnu: Add libqalculate
From: R Veera Kumar <[email-masked]>
To: [email-masked]
Date: Mon, 30 Mar 2020 10:52:23 +0530
List-Id: <debbugs-submit.debbugs.gnu.org>

Libqalculate is a multi-purpose cli desktop calculator and library.
It provides basic and advanced functionality.

Signed-off-by: R Veera Kumar <[email-masked]>
---
 gnu/packages/maths.scm | 57 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 57 insertions(+)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 028f0e6ef9..1fa1d493fb 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -79,6 +79,7 @@
   #:use-module (gnu packages dbm)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages elf)
+  #:use-module (gnu packages file)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages fltk)
   #:use-module (gnu packages fontutils)
@@ -86,8 +87,10 @@
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages gd)
   #:use-module (gnu packages ghostscript)
+  #:use-module (gnu packages glib)
   #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
   #:use-module (gnu packages java)
   #:use-module (gnu packages less)
@@ -5319,3 +5322,57 @@ researchers and developers alike to get started on SAT.")
       (home-page
        "http://minisat.se/MiniSat.html")
       (license license:expat))))
+
+(define-public libqalculate
+  (let ((commit "90b52e685c1b0575558c5dd449dde71c313d084a")
+        (revision "1"))
+    (package
+      (name "libqalculate")
+      (version (git-version "3.8.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/Qalculate/libqalculate/")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "1vbaza9c7159xf2ym90l0xkyj2mp6c3hbghhsqn29yvz08fda9df"))))
+      (build-system gnu-build-system)
+      (native-inputs
+       `(("pkg-config" ,pkg-config)
+         ("intltool" ,intltool)
+         ("automake" ,automake)
+         ("autoconf" ,autoconf)
+         ("libtool" ,libtool)
+         ("m4" ,m4)
+         ("doxygen" ,doxygen)
+         ("file" ,file)))
+      (inputs
+       `(("gmp" ,gmp)
+         ("mpfr" ,mpfr)
+         ("libxml2" ,libxml2)
+         ("curl" ,curl)
+         ("icu4c" ,icu4c)
+         ("gettext" ,gettext-minimal)
+         ("gnuplot" ,gnuplot)
+         ("readline" ,readline)
+         ("libiconv" ,libiconv)))
+      (arguments
+       `( #:phases
+         (modify-phases %standard-phases
+           (delete 'bootstrap) ;; fails in autogen.sh
+           (add-before 'configure 'autogen
+             (lambda _
+               (setenv "NOCONFIGURE" "TRUE")
+               (invoke "./autogen.sh"))))))
+      (home-page "https://qalculate.github.io/")
+      (synopsis "Multi-purpose cli desktop calculator and library")
+      (description
+       "Libqalculate is a multi-purpose cli desktop calculator and library.
+It provides basic and advanced functionality.  Features include customizable
+functions, unit calculations, and conversions, physical constants, symbolic
+calculations (including integrals and equations), arbitrary precision,
+uncertainity propagation, interval arithmetic, plotting and a user-friendly
+cli.")
+      (license license:gpl2+))))
-- 
2.26.0