* [bug#72776] [PATCH] gnu: Add oils.
@ 2024-08-23 22:16 Giacomo Leidi via Guix-patches via
2024-10-04 15:53 ` bug#72776: " Ludovic Courtès
0 siblings, 1 reply; 2+ messages in thread
From: Giacomo Leidi via Guix-patches via @ 2024-08-23 22:16 UTC (permalink / raw)
To: 72776; +Cc: Giacomo Leidi
Since release 0.16.0 the former Oil project has been renamed to
Oils (https://www.oilshell.org/blog/2023/03/rename.html). This patch
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(-)
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
^ permalink raw reply related [flat|nested] 2+ messages in thread
* bug#72776: [PATCH] gnu: Add oils.
2024-08-23 22:16 [bug#72776] [PATCH] gnu: Add oils Giacomo Leidi via Guix-patches via
@ 2024-10-04 15:53 ` Ludovic Courtès
0 siblings, 0 replies; 2+ messages in thread
From: Ludovic Courtès @ 2024-10-04 15:53 UTC (permalink / raw)
To: Giacomo Leidi; +Cc: 72776-done
[-- Attachment #1: Type: text/plain, Size: 704 bytes --]
Giacomo Leidi <goodoldpaul@autistici.org> skribis:
> Since release 0.16.0 the former Oil project has been renamed to
> Oils (https://www.oilshell.org/blog/2023/03/rename.html). This patch
> 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
Applied with the change below, thanks!
Ludo'.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 866 bytes --]
diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
index 79f1c8a0a5..fa85704d37 100644
--- a/gnu/packages/shells.scm
+++ b/gnu/packages/shells.scm
@@ -93,7 +93,6 @@ (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)
@@ -970,7 +969,10 @@ (define-public oils
JavaScript users who avoid shell.")
(license (list license:asl2.0))))
-(define-deprecated/public-alias oil oils)
+(define-public oil
+ ;; Since release 0.16.0 the former Oil project has been renamed to Oils:
+ ;; <https://www.oilshell.org/blog/2023/03/rename.html>.
+ (deprecated-package "oil" oils))
(define-public gash
(package
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-10-04 15:54 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-23 22:16 [bug#72776] [PATCH] gnu: Add oils Giacomo Leidi via Guix-patches via
2024-10-04 15:53 ` bug#72776: " Ludovic Courtès
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).