diff mbox series

[bug#69973] gnu: Add oils-for-unix.

Message ID 2a2a91336b8999ab67273b6d99b5d68dc7495ac9.1711273771.git.felgru@posteo.net
State New
Headers show
Series [bug#69973] gnu: Add oils-for-unix. | expand

Commit Message

Felix Gruber March 24, 2024, 9:49 a.m. UTC
* gnu/packages/shells.scm (oils-for-unix): New variable.

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


base-commit: 28bc0e870b4d48b8e3e773382bb0e999df2e3611

Comments

Abhishek Cherath March 24, 2024, 11:16 p.m. UTC | #1
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.
diff mbox series

Patch

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")