[PATCH] gnu: Add bats.

DoneSubmitted by Oleg Pykhalov.
Details
2 participants
  • Oleg Pykhalov
  • Mathieu Othacehe
Owner
unassigned
Severity
normal
O
O
Oleg Pykhalov wrote on 7 Jun 20:23 +0200
(address . guix-patches@gnu.org)(name . Oleg Pykhalov)(address . go.wigust@gmail.com)
20200607182350.32447-1-go.wigust@gmail.com
* gnu/packages/bash.scm (bats): New variable.--- gnu/packages/bash.scm | 52 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+)
Toggle diff (83 lines)diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scmindex 3ba8a13e40..dff3fcb594 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 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>+;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;;@@ -24,6 +25,7 @@ (define-module (gnu packages bash) #:use-module (guix licenses) #:use-module (gnu packages)+ #:use-module (gnu packages base) #:use-module (gnu packages bootstrap) #:use-module (gnu packages ncurses) #:use-module (gnu packages readline)@@ -37,6 +39,7 @@ #:use-module (guix monads) #:use-module (guix store) #:use-module (guix build-system gnu)+ #:use-module (guix build-system trivial) #:autoload (guix gnupg) (gnupg-verify*) #:autoload (guix base32) (bytevector->nix-base32-string) @@ -362,3 +365,52 @@ for Bash shell scripts and functions. Along with the Test::More-style testing helpers it provides helper functions for mocking commands and in-process output capturing.") (license expat)))++(define-public bats+ (package+ (name "bats")+ (version "1.2.0")+ (source (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/bats-core/bats-core.git")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32+ "0f59zh4d4pa1a7ybs5zl6h0csbqqv11lbnq0jl1dgwm1s6p49bsq"))))+ (inputs+ `(("bash" ,bash)+ ("coreutils" ,coreutils)+ ("grep" ,grep)))+ (arguments+ `(#:modules ((guix build utils))+ #:builder+ (begin+ (use-modules (guix build utils))+ (copy-recursively (assoc-ref %build-inputs "source") ".")+ (setenv "PATH"+ (string-append (assoc-ref %build-inputs "bash") "/bin"+ ":" (assoc-ref %build-inputs "coreutils") "/bin"+ ":" (assoc-ref %build-inputs "grep") "/bin"+ ":" (getenv "PATH")))+ ;; Patch phase+ (substitute* "install.sh"+ (("/usr/bin/env bash") (which "bash")))+ (substitute* "libexec/bats-core/bats"+ (("type -p greadlink readlink")+ (string-append "type -p " (which "readlink"))))+ (substitute* "libexec/bats-core/bats"+ (("grep") (which "grep")))+ ;; Install phase+ (invoke "./install.sh" %output))))+ (native-search-paths+ (list (search-path-specification+ (variable "BATS_ROOT")+ (separator #f) ;single entry+ (files '("libexec/bats-core")))))+ (build-system trivial-build-system)+ (home-page "https://github.com/bats-core/bats-core/")+ (synopsis "Bash Automated Testing System")+ (description "This package provides a Bash Automated Testing System.")+ (license expat)))-- 2.26.2
M
M
Mathieu Othacehe wrote on 14 Jun 12:15 +0200
(name . Oleg Pykhalov)(address . go.wigust@gmail.com)(address . 41751@debbugs.gnu.org)
87bllmkl67.fsf@gnu.org
Hello Oleg,
Toggle quote (6 lines)> + (native-search-paths> + (list (search-path-specification> + (variable "BATS_ROOT")> + (separator #f) ;single entry> + (files '("libexec/bats-core")))))
Why not patching "bats" script directly? This way we wouldn't need anextra environment variable to run "bats".
Toggle quote (2 lines)> + (description "This package provides a Bash Automated Testing System.")
It would be good to elaborate a bit on that, what can be tested exactly,how to use it.
Otherwise, this looks fine.
Thanks,
Mathieu
O
O
Oleg Pykhalov wrote on 25 Jul 21:14 +0200
(address . 41751-done@debbugs.gnu.org)
878sf7l84u.fsf@gmail.com
All suggestions were applied and pushed in master in5a88d3dfcb382a9256e5b6d18f1487b597260944.
Closing.
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEEcjhxI46s62NFSFhXFn+OpQAa+pwFAl8chJEACgkQFn+OpQAa+pyQMRAAq89NHuPVDteo6gebiN/7ZQmKfaATB7xg51cgIDvjfEo2Hav7Xn0Oxept0N5hxB/JJf6jcDrC1VrvkHqFW9yagcbcCfcgXxUp33jY0qUUMAqhB0h+lDAIVZcjLwzwsZWwKYx01MVE3TcfR5ubNeriMWQCce9PdkvA0s8Z7P73d5xYsdxeCW4XcWboZI03X2UowEdakAHi9i3qlNYSOsRh/rI9cm3szQb4FblQm+CPamgwuJHjvyVXmB3REcPJ+8XyKaUtDQKExTfFoJcnaLlN90rYMVHa9/dGnZ9A0DZNsQKur6RTiZ0Mq8tW0nXDXLT2HE7t1H0M+Xv+z61hiJhP6iytsuxwRayR3j96scBEnUgZjYsLdZwUR/i0l2XPQHQ6YT2RtwnWu4LuATZd5lirAgi+dzyz+BAKvr1aWweVxlcV5DtRT73Fwpfu5ybVkOnENVzWplo8J3mi6NWa1jNdb60QRfygkEWGavxuO8/vn34726bUnFoPZ+Wk6GDOUJBsARXBJT9XrHdjiYC1wikBRjhGmM84QJFf6kEVTAjimWiYCmPAY9rrsgfsWdRC0nudS6V6tT1sIaYs2CGdrkcOsbxHpH5HgvOSAcOKtT+sbQf8RMigb+M/x6/lfap5OE3xVITBgUpWGzXAcGXU5eywEFQIHYWIA2hVV/nuRX+g38A==GEiJ-----END PGP SIGNATURE-----
Closed
?