[PATCH] gnu: Add oils.

  • Open
  • quality assurance status badge
Details
One participant
  • Giacomo Leidi
Owner
unassigned
Submitted by
Giacomo Leidi
Severity
normal
G
G
Giacomo Leidi wrote on 24 Aug 00:16 +0200
(address . guix-patches@gnu.org)(name . Giacomo Leidi)(address . goodoldpaul@autistici.org)
e039885e7d27705ccb5ae642e60902d068012470.1724451405.git.goodoldpaul@autistici.org
Since release 0.16.0 the former Oil project has been renamed to
deprecates the old oil package in favor of a new oils package updated to
the latest version. Additionally since release 0.21.0 Oils is
completely free from bundled Python code.

* gnu/packages/shells.scm (oils): New variable;
[source]: Remove mention of bundled Python sources, from release 0.21.0
it is no more the case;
[phases]: use Oils build system.
(oil): Deprecate in favor of oils.

Change-Id: I4455ec1e6f4335cc6e67cd8f2c3808e2aef24c4f
---
gnu/packages/shells.scm | 52 ++++++++++++++++++++++++-----------------
1 file changed, 30 insertions(+), 22 deletions(-)

Toggle diff (105 lines)
diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
index d7fb2317cb..9e08ef39f0 100644
--- a/gnu/packages/shells.scm
+++ b/gnu/packages/shells.scm
@@ -25,6 +25,7 @@
;;; Copyright © 2023 Jaeme Sifat <jaeme@runbox.com>
;;; Copyright © 2024 Tanguy Le Carrour <tanguy@bioneland.org>
;;; Copyright © 2024 Vinicius Monego <monego@posteo.net>
+;;; Copyright © 2024 Giacomo Leidi <goodoldpaul@autistici.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -90,6 +91,7 @@ (define-module (gnu packages shells)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
+ #:use-module (guix deprecation)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix gexp)
@@ -905,27 +907,20 @@ (define-public mksh
(license (list license:miros
license:isc)))) ; strlcpy.c
-(define-public oil
+(define-public oils
(package
- (name "oil")
- (version "0.20.0")
+ (name "oils")
+ (version "0.22.0")
(source
- ;; oil's sources contain a modified version of CPython 2.7.13.
- ;; According to https://www.oilshell.org/blog/2017/05/05.html
- ;; this bundles version of CPython had certain unused parts removed
- ;; and its build system has been replaced by a custom one.
- ;; This would probably make it quite complicated to replace the
- ;; bundled CPython with the one from the python2 package.
(origin
(method url-fetch)
- (uri (string-append "https://www.oilshell.org/download/oil-"
+ (uri (string-append "https://www.oilshell.org/download/oils-for-unix-"
version ".tar.gz"))
(sha256
- (base32 "1jpxhixwq29ik01jx372g9acib59wmww8lrdlcypq7jpg5b0b7pi"))))
+ (base32 "0pylgbxbnp683g51lcbmmd0y149jm7q7vh8g67yviagsa7clmmks"))))
(build-system gnu-build-system)
(arguments
- (list #:strip-binaries? #f ; strip breaks the binary
- #:phases
+ (list #:phases
#~(modify-phases %standard-phases
(replace 'configure
(lambda _
@@ -934,24 +929,37 @@ (define-public oil
((" cc ") " $CC "))
(invoke "./configure" (string-append "--prefix=" #$output)
"--with-readline")))
+ (replace 'build
+ (lambda _
+ (invoke "_build/oils.sh")))
+ (replace 'install
+ (lambda _
+ (setenv "PREFIX" #$output)
+ (invoke "./install")))
(replace 'check
;; The tests are not distributed in the tarballs but upstream
;; recommends running this smoke test.
- ;; https://github.com/oilshell/oil/blob/release/0.8.0/INSTALL.txt#L38-L48
+ ;; https://github.com/oilshell/oil/blob/release/0.22.0/INSTALL.txt#L30-L50
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
- (let* ((oil "_bin/oil.ovm"))
- (invoke/quiet oil "osh" "-c" "echo hi")
- (invoke/quiet oil "osh" "-n" "configure"))))))))
+ (let ((osh "_bin/cxx-opt-sh/osh")
+ (ysh "_bin/cxx-opt-sh/ysh"))
+ (invoke/quiet osh "-c" "echo hi")
+ (invoke/quiet osh "-n" "configure")
+ (invoke/quiet ysh "-c" "echo hi")
+ (invoke/quiet ysh "-c"
+ "json write ({x: 42})"))))))))
(inputs
(list readline))
(home-page "https://www.oilshell.org")
(synopsis "Programming language and Bash-compatible Unix shell")
- (description "Oil is a programming language with automatic translation for
-Bash. It includes osh, a Unix/POSIX shell that runs unmodified Bash
-scripts.")
- (license (list license:psfl ; tarball includes python2.7
- license:asl2.0))))
+ (description "Oils is a programming language with automatic translation for
+Bash. It includes OSH, a Unix/POSIX shell that runs unmodified Bash
+scripts and YSH is a legacy-free shell, with structured data for Python and
+JavaScript users who avoid shell.")
+ (license (list license:asl2.0))))
+
+(define-deprecated/public-alias oil oils)
(define-public gash
(package

base-commit: d48af5cca84914d44b032d0bf0820640ebbe7a4b
--
2.45.2
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 72776@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 72776
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch