Subject: [bug#44176] gnu: Add bash-ctypes

From: Zhu Zihao <[email-masked]>
Date: Fri, 23 Oct 2020 20:52:37 +0800

>From 5a85c09398cfe96ba244eac7dec45366a139188e Mon Sep 17 00:00:00 2001
From: Zhu Zihao <[email-masked]>
Date: Fri, 23 Oct 2020 20:47:04 +0800
Subject: [PATCH] gnu: Add bash-ctypes

* gnu/packages/bash.scm(bash-ctypes): New variable.
---
 gnu/packages/bash.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm
index 47ca625d9a..356d0f82d6 100644
--- a/gnu/packages/bash.scm
+++ b/gnu/packages/bash.scm
@@ -26,6 +26,7 @@
   #:use-module (gnu packages)
   #:use-module (gnu packages base)
   #:use-module (gnu packages bootstrap)
+  #:use-module (gnu packages elf)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages bison)
@@ -415,3 +416,25 @@ framework for Bash.  It provides a simple way to verify that the UNIX programs
 you write behave as expected.  Bats is most useful when testing software written
 in Bash, but you can use it to test any UNIX program.")
     (license expat)))
+
+(define-public bash-ctypes
+  (package
+    (name "bash-ctypes")
+    (version "1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/taviso/ctypes.sh/releases/download/"
+                           version "/ctypes-sh-" version ".tar.gz"))
+       (sha256
+        (base32 "0s1sifqzqmr0dnciv06yqrpzgj11d7n0gy5zaxh6b3x8bx7k75l8"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("libelf" ,libelf)
+       ("elfutils" ,elfutils)))
+    (home-page "https://github.com/taviso/ctypes.sh")
+    (synopsis "FFI for Bash")
+    (description "Bash-ctypes is a bash plugin that provides a foreign function
+interface directly in your shell. In other words, it allows you to call routines
+in shared libraries from within bash.")
+    (license expat)))
-- 
2.28.0

-- 
Retrieve my public GPG key: https://meta.sr.ht/~citreu.pgp

Zihao