From aa73b41acb81c13a35d0afd272a44abe1a29c708 Mon Sep 17 00:00:00 2001 From: Zhu Zihao Date: Fri, 23 Oct 2020 20:47:04 +0800 Subject: gnu: Add bash-ctypes. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/bash.scm (bash-ctypes): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/bash.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) 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 ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2019 Mathieu Othacehe +;;; Copyright © 2020 Zhu Zihao ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,10 +27,14 @@ (define-module (gnu packages bash) #: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 @@ (define-public bats 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))) -- cgit v1.2.3