diff mbox series

[bug#64688,v3] gnu: Add calc.

Message ID 20230724153210.12545-1-distopico@riseup.net
State New
Headers show
Series [bug#64688,v3] gnu: Add calc. | expand

Commit Message

Distopico July 24, 2023, 3:31 p.m. UTC
* gnu/packages/maths.scm (calc): New variable.
---
 Change make-flags to use gexp and remove unncesary output
 
 gnu/packages/maths.scm | 50 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)
diff mbox series

Patch

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index b9b63c81c1..9c0c98db56 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -60,6 +60,7 @@ 
 ;;; Copyright © 2022 Akira Kyle <akira@akirakyle.com>
 ;;; Copyright © 2022 Roman Scherer <roman.scherer@burningswell.com>
 ;;; Copyright © 2023 Jake Leporte <jakeleporte@outlook.com>
+;;; Copyright © 2023 Camilo Q.S. (Distopico) <distopico@riseup.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -261,6 +262,55 @@  (define-public c-graph
    (license license:gpl3+)
    (home-page "https://www.gnu.org/software/c-graph/")))
 
+(define-public calc
+  (package
+    (name "calc")
+    (version "2.14.1.6")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://www.isthe.com/chongo/src/calc/calc-"
+                    version ".tar.bz2"))
+              (sha256
+               (base32
+                "0h3zsqwpbwddv28khg1fk00ydk6sxvdig085lvi1s63d544b6nff"))))
+    (build-system gnu-build-system)
+    (inputs (list readline))
+    (native-inputs (list util-linux))
+    (arguments
+     (list
+      #:make-flags #~(list "DEBUG="
+                           "USE_READLINE=-DUSE_READLINE"
+                           "READLINE_LIB=-lreadline"
+                           "READLINE_EXTRAS=-lhistory -lncurses"
+                           (string-append "DEFAULT_LIB_INSTALL_PATH=" #$output
+                                          "/lib")
+                           (string-append "T=" #$output))
+      #:phases #~(modify-phases %standard-phases
+                 (delete 'configure)
+                 (add-before 'build 'patch-makefile-ldflags
+                   (lambda _
+                     (substitute* "Makefile"
+                       (("\\$\\{CC\\}\\s+\\$\\{LIBCALC_SHLIB\\}")
+                        "${CC} ${LDFLAGS} ${LIBCALC_SHLIB}"))
+                     (substitute* "custom/Makefile"
+                       (("\\$\\{CC\\}\\s+\\$\\{LIBCUSTCALC_SHLIB\\}")
+                         "${CC} ${LDFLAGS} ${LIBCUSTCALC_SHLIB}"))))
+                 (add-before 'build 'patch-makefile-prefix
+                   (lambda _
+                     (substitute* "Makefile"
+                       ;; Replace because there is more or less
+                       ;; 5 Makefile vars with /usr as default prefix
+                       (("=\\s?/usr/")
+                        "= /")))))))
+    (synopsis "Arbitrary precision console calculator")
+    (description
+     "Calc is an arbitrary precision arithmetic system that uses a C-like language,
+It's useful as a calculator, an algorithm prototyper and as a mathematical research tool.
+More importantly, calc provides one with a machine independent means of computation.
+Calc comes with a rich set of builtin mathematical and programmatic functions.")
+    (home-page "http://www.isthe.com/chongo/tech/comp/calc/")
+    (license license:lgpl2.1)))
+
 (define-public coda
   (package
     (name "coda")