summaryrefslogtreecommitdiff
path: root/gnu/packages/bash.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/bash.scm')
-rw-r--r--gnu/packages/bash.scm33
1 files changed, 33 insertions, 0 deletions
diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm
index 47ca625d9a..2d751147fa 100644
--- a/gnu/packages/bash.scm
+++ b/gnu/packages/bash.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -26,10 +27,14 @@
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages bootstrap)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages elf)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages readline)
#:use-module (gnu packages bison)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages libffi)
+ #:use-module (gnu packages pkg-config)
#:use-module (gnu packages guile)
#:use-module (guix packages)
#:use-module (guix download)
@@ -415,3 +420,31 @@ 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/v"
+ version "/ctypes-sh-" version ".tar.gz"))
+ (sha256
+ (base32 "0s1sifqzqmr0dnciv06yqrpzgj11d7n0gy5zaxh6b3x8bx7k75l8"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("elfutils" ,elfutils)
+ ("libelf" ,libelf)
+ ("libffi" ,libffi)
+ ("zlib" ,zlib)
+ ;; Require a bash with C plugin support to build.
+ ("bash" ,bash)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "https://github.com/taviso/ctypes.sh")
+ (synopsis "Foreign function interface for Bash")
+ (description "Bash-ctypes is a Bash plugin that provides a foreign
+function interface (FFI) directly in your shell. In other words, it allows
+you to call routines in shared libraries from within Bash.")
+ (license expat)))