diff mbox series

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

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

Commit Message

Distopico July 23, 2023, 9:52 p.m. UTC
* gnu/packages/maths.scm (calc): New variable.
---
 Fyx typo

 gnu/packages/maths.scm | 51 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)
diff mbox series

Patch

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index b9b63c81c1..3937e9118a 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,56 @@  (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))
+    (outputs '("out"))
+    (arguments
+     '(#:make-flags (let ((out (assoc-ref %outputs "out")))
+                      (list "DEBUG="
+                            "USE_READLINE=-DUSE_READLINE"
+                            "READLINE_LIB=-lreadline"
+                            "READLINE_EXTRAS=-lhistory -lncurses"
+                            (string-append "DEFAULT_LIB_INSTALL_PATH=" out
+                                           "/lib")
+                            (string-append "T=" out)))
+       #: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")