Updated to latest tag and use git reference for makefile. However the contrib submodule fails to install during build phase, and there are 2 test failures:
```
starting phase `build'
mkdir -p out
mkdir -p out/keymap
mkdir -p out/lib
DEPENDENCIES_PHONY=1 DEPENDENCIES_OUTPUT=out/ble.dep DEPENDENCIES_TARGET=out/ble.sh FULLVER=0.4.0-devel2 \
/gnu/store/690qz3fg334dpwn3pn6k59n4wc943p2b-gawk-5.1.0/bin/gawk -f ext/mwg_pp.awk ble.pp >/dev/null
cp -p keymap/emacs.sh out/keymap/emacs.sh
cp -p keymap/vi.sh out/keymap/vi.sh
cp -p keymap/vi_digraph.sh out/keymap/vi_digraph.sh
cp -p keymap/vi_digraph.txt out/keymap/vi_digraph.txt
cp -p keymap/vi_test.sh out/keymap/vi_test.sh
cp -p keymap/emacs.rlfunc.txt out/keymap/emacs.rlfunc.txt
cp -p keymap/vi_imap.rlfunc.txt out/keymap/vi_imap.rlfunc.txt
cp -p keymap/vi_nmap.rlfunc.txt out/keymap/vi_nmap.rlfunc.txt
cp -p lib/init-term.sh out/lib/init-term.sh
cp -p lib/init-bind.sh out/lib/init-bind.sh
cp -p lib/init-cmap.sh out/lib/init-cmap.sh
cp -p lib/init-msys1.sh out/lib/init-msys1.sh
cp -p lib/core-complete.sh out/lib/core-complete.sh
/gnu/store/690qz3fg334dpwn3pn6k59n4wc943p2b-gawk-5.1.0/bin/gawk -f ext/mwg_pp.awk lib/core-syntax.sh > out/lib/core-syntax.sh
cp -p lib/core-test.sh out/lib/core-test.sh
cp -p lib/core-edit.ignoreeof-messages.txt out/lib/core-edit.ignoreeof-messages.txt
cp -p lib/vim-surround.sh out/lib/vim-surround.sh
cp -p lib/vim-arpeggio.sh out/lib/vim-arpeggio.sh
cp -p lib/test-main.sh out/lib/test-main.sh
cp -p lib/test-util.sh out/lib/test-util.sh
fatal: not a git repository (or any parent up to mount point /tmp)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: not a git repository (or any parent up to mount point /tmp)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
phase `build' succeeded after 0.2 seconds
starting phase `check'
bash make_command.sh check
ble.sh: Insane environment: $USER is empty.
ble.sh: modified USER=nixbld
ble/term.sh: updating tput cache for TERM=dumb... done
stty: 'standard input': Inappropriate ioctl for device
MACHTYPE: x86_64-unknown-linux-gnu
BLE_VERSION: 0.4.0-devel2+
BASH_VERSION: 5.1.8(1)-release
[section] main: 14/14 (0 fail, 0 crash, 0 skip)
/tmp/guix-build-blesh-0.4.0-devel2.drv-0/source/out/lib/test-util.sh:1671: ble/util/c2s 956; [[ $ret != μ ]]
--- 289.exit.expect 2022-09-13 02:34:16.953615150 +0000
+++ 289.exit.result 2022-09-13 02:34:16.953615150 +0000
@@ -1 +1 @@
-0
+1
/tmp/guix-build-blesh-0.4.0-devel2.drv-0/source/out/lib/test-util.sh:1672: ble/util/c2s 12354; [[ $ret != ? ]]
--- 289.exit.expect 2022-09-13 02:34:16.956948541 +0000
+++ 289.exit.result 2022-09-13 02:34:16.956948541 +0000
@@ -1 +1 @@
-0
+1
[section] util: 1045/1047 (2 fail, 0 crash, 0 skip)
make: *** [GNUmakefile:158: check] Error 1
Test suite failed, dumping logs.
error: in phase 'check': uncaught exception:
%exception #<&invoke-error program: "make" arguments: ("check" "-j" "8") exit-status: 2 term-signal: #f stop-signal: #f>
phase `check' failed after 1.9 seconds
command "make" "check" "-j" "8" failed with status 2
builder for `/gnu/store/pli4h8yvddlv3mm1bgq47l2kfadm0dfi-blesh-0.4.0-devel2.drv' failed with exit code 1
build of /gnu/store/pli4h8yvddlv3mm1bgq47l2kfadm0dfi-blesh-0.4.0-devel2.drv failed
View build log at '/var/log/guix/drvs/pl/i4h8yvddlv3mm1bgq47l2kfadm0dfi-blesh-0.4.0-devel2.drv.gz'.
guix build: error: build of `/gnu/store/pli4h8yvddlv3mm1bgq47l2kfadm0dfi-blesh-0.4.0-devel2.drv' failed
```
Help appreciated.
* gnu/packages/bash.scm (blesh): New variable.
---
gnu/packages/bash.scm | 37 +++++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)
Toggle diff (54 lines)
diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm
index 72758560cd..bf6d5fc1cc 100644
--- a/gnu/packages/bash.scm
+++ b/gnu/packages/bash.scm
@@ -37,6 +37,8 @@ (define-module (gnu packages bash)
#:use-module (gnu packages libffi)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages guile)
+ #:use-module (gnu packages version-control)
+ #:use-module (gnu packages less)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
@@ -456,3 +458,38 @@ (define-public bash-ctypes
function interface (FFI) directly in your shell. In other words, it allows
you to call routines in shared libraries from within Bash.")
(license license:expat)))
+
+(define-public blesh
+ (package
+ (name "blesh")
+ (version "0.4.0-devel2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/akinomyoga/ble.sh")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "02fdjyh4x6wr5hg3i86nsxhz8ysgjrvvxdmk6pqr0lm8ngw9p3sh"))))
+ (arguments
+ (list #:phases #~(modify-phases %standard-phases
+ ;TODO: install contrib submodule
+ (add-after 'unpack 'pretend-contrib-.git-exists
+ (lambda _
+ (mkdir-p "contrib/.git")))
+ (add-after 'unpack 'make-readlink-work
+ (lambda _
+ (substitute* "ble.pp"
+ (("PATH=/bin:/usr/bin readlink" path-to-readlink)
+ (string-append #$coreutils "/bin/readlink")))))
+ (delete 'configure)))) ;no configure
+ (build-system gnu-build-system)
+ (native-inputs (list git-minimal coreutils less))
+ (home-page "https://github.com/akinomyoga/ble.sh/")
+ (synopsis "Bash Line Editor")
+ (description
+ "Bash Line Editor (ble.sh) is a command line editor written in pure Bash
+which replaces the default GNU Readline. It adds syntax highlighting, auto
+suggestions, vim modes, and more to Bash interactive sessions.")
+ (license license:bsd-3)))
--
2.37.3