[bug#78771] gnu: Add clac.

Message ID af4648d7d234be2fdefd9cdb41dcaa9743e88985.1749697969.git.stellarskylark@posteo.net
State New
Headers
Series [bug#78771] gnu: Add clac. |

Commit Message

Skylar Hill June 12, 2025, 3:12 a.m. UTC
  *  (clac): New variable.

Vendors a dependency, linenoise, which is already packaged.  However,
since the linenoise package doesn't provide shared object files, I chose
to simply use the vendored one.

Change-Id: I5fe4db7b40b58753da3ac3ef947bf28cebeca7a6
---
 gnu/packages/algebra.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)


base-commit: 3d4cadf2759665d3ef9b6b81e5ba73b488d84dc9
prerequisite-patch-id: 3fec04fa2a12083bb04816507fd9c714478c44bd
  

Patch

diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index b23785279e..931f421dac 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -2178,3 +2178,38 @@  (define-public msolve
 @end itemize")
     (license license:gpl2+)))
 
+(define-public clac
+  (package
+    (name "clac")
+    (version "0.3.4")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/soveran/clac")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        "0crpm5rxxipiz6kqs5ip900d77vvnslyjn5f6nj0lrc86bkbgi8d")))
+    (build-system gnu-build-system)
+    (arguments
+     (list
+      #:test-target "test"
+      #:phases
+      #~(modify-phases %standard-phases
+          (delete 'configure)
+          (add-before 'build 'set-env
+            (lambda _
+              (setenv "CC" "gcc")
+              (setenv "PREFIX"
+                      #$output))))))
+    (home-page "https://github.com/soveran/clac")
+    (synopsis "Command-line, stack-based calculator with postfix notation")
+    (description
+     "A command line, stack-based calculator with postfix notation
+that displays the stack contents at all times.  As you type, the stack changes
+are reflected immediately.")
+    ;; Vendors two dependencies, both also BSD-2. SDS is not already
+    ;; packaged. linenoise is packaged, but the package doesn't provide shared
+    ;; object files so we have to build it anyway
+    (license license:bsd-2)))