[PATCH] gnu: Add oils-for-unix.

  • Open
  • quality assurance status badge
Details
2 participants
  • Abhishek Cherath
  • Felix Gruber
Owner
unassigned
Submitted by
Felix Gruber
Severity
normal
F
F
Felix Gruber wrote on 24 Mar 10:49 +0100
(address . guix-patches@gnu.org)(name . Felix Gruber)(address . felgru@posteo.net)
2a2a91336b8999ab67273b6d99b5d68dc7495ac9.1711273771.git.felgru@posteo.net
* gnu/packages/shells.scm (oils-for-unix): New variable.

Change-Id: I0422f9d9ab6b67fb0b07d5b8bfcca7b1524baf26
---
gnu/packages/shells.scm | 49 ++++++++++++++++++++++++++++++++++++++++-
1 file changed, 48 insertions(+), 1 deletion(-)

Toggle diff (71 lines)
diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
index ae4e73956e..eb74a3f124 100644
--- a/gnu/packages/shells.scm
+++ b/gnu/packages/shells.scm
@@ -18,7 +18,7 @@
;;; Copyright © 2020, 2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2021, 2022 Nicolas Goaziou <mail@nicolasgoaziou.fr>
-;;; Copyright © 2021, 2022 Felix Gruber <felgru@posteo.net>
+;;; Copyright © 2021, 2022, 2023, 2024 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2022 Andrew Tropin <andrew@trop.in>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2023 David Pflug <david@pflug.io>
@@ -906,6 +906,53 @@ (define-public oil
(license (list license:psfl ; tarball includes python2.7
license:asl2.0))))
+(define-public oils-for-unix
+ (package
+ (name "oils-for-unix")
+ (version "0.21.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://www.oilshell.org/download/oils-for-unix-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "0kk5mj6x2d6h1d22ig2c3nwsqj995hw1ijab3h11px09mwmq9jw3"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-cc
+ (lambda _
+ (substitute* "configure"
+ (("cc ") "gcc "))))
+ ;; The 'configure' script is not generated by autoconf and can't
+ ;; cope with "SHELL=" and "CONFIG_SHELL=" arguments, so we
+ ;; pass a custom set of arguments.
+ (replace 'configure
+ (lambda* (#:key build inputs outputs #:allow-other-keys)
+ (let ((bash (which "bash"))
+ (out (assoc-ref outputs "out")))
+ (invoke bash "./configure"
+ (string-append "--prefix=" out)
+ (string-append "--build=" build)
+ "--with-readline"))))
+ (replace 'build
+ (lambda _
+ (invoke "_build/oils.sh")))
+ (replace 'install
+ (lambda _
+ (invoke "./install"))))))
+ (inputs
+ (list readline))
+ (home-page "https://www.oilshell.org/")
+ (synopsis "Programming language and Bash-compatible Unix shell")
+ (description "Oils contains two shells. The Bash-compatible OSH
+and YSH, which is incompatible with Bash scripts as it tries to
+modernize the shell syntax by adding features known from scripting
+languages like Python or Ruby.")
+ (license license:asl2.0)))
+
(define-public gash
(package
(name "gash")

base-commit: 28bc0e870b4d48b8e3e773382bb0e999df2e3611
--
2.43.0
A
A
Abhishek Cherath wrote on 25 Mar 00:16 +0100
Regarding generated files
(address . 69973@debbugs.gnu.org)
87y1a76x04.fsf@quic.us
Hello,

Thanks for packaging this! build works, but it's using the pre-generated
_gen folder right? shouldn't this be building that using guix's mypy and
such?

(Any case, thanks for the patch, I've applied it locally)

Yours sincerely,
Abhishek Cherath.
?