From ec658018df50a7463564a5877ab60945451c6052 Mon Sep 17 00:00:00 2001 From: Ryan Prior Date: Fri, 1 May 2020 14:49:42 -0500 Subject: [PATCH 1/1] gnu: oil: Update to 0.8.pre4 gnu/packages/shells.scm (oil): Update to 0.8.pre4. --- gnu/packages/shells.scm | 56 ++++++++++++++++++++--------------------- 1 file changed, 27 insertions(+), 29 deletions(-) diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index 5c8c4b5d8a..1582236873 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2019 Mathieu Othacehe ;;; Copyright © 2019, 2020 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2020 Brice Waegeneire +;;; Copyright © 2020 Ryan Prior ;;; ;;; This file is part of GNU Guix. ;;; @@ -783,47 +784,44 @@ Shell (pdksh).") (define-public oil (package (name "oil") - (version "0.7.0") - (source (origin - (method url-fetch) - (uri (string-append "https://www.oilshell.org/download/oil-" - version ".tar.xz")) - (sha256 - (base32 - "12c9s462879adb6mwd3fqafk0dnqsm16s18rhym6cmzfzy8v8zm3")))) + (version "0.8.pre4") ; https://www.oilshell.org/blog/2020/04/release-0.8.pre4.html#comment-on-version-numbering + (source + (origin + (method url-fetch) + (uri (string-append "https://www.oilshell.org/download/oil-" + version ".tar.gz")) + (sha256 + (base32 "0m2p8p5hi2r14xx9pphsa0ar56kqsa33gr2w2blc3jx07aqhjpzy")))) (build-system gnu-build-system) (arguments - '(#:tests? #f ; the tests are not distributed in the tarballs - #:strip-binaries? #f ; the binaries cannot be stripped + `(#:strip-binaries? #f ; strip breaks the binary #:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-compiler-invocation - (lambda _ - (substitute* "configure" - ((" cc ") " gcc ")) - #t)) (replace 'configure (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) (setenv "CC" "gcc") - ;; The configure script doesn't recognize CONFIG_SHELL. - (setenv "CONFIG_SHELL" (which "sh")) - (invoke "./configure" (string-append "--prefix=" out) + (substitute* "configure" + ((" cc ") " gcc ")) + (invoke "./configure" + (string-append "--prefix=" out) "--with-readline")))) - (add-before 'install 'make-destination + (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.pre4/INSTALL.txt#L38-L48 (lambda _ - ;; The build scripts don't create the destination directory. - (mkdir-p (string-append (assoc-ref %outputs "out") "/bin"))))))) + (let* ((oil "_bin/oil.ovm")) + (invoke/quiet oil "osh" "-c" "echo hi") + (invoke/quiet oil "osh" "-n" "configure"))))))) (inputs `(("readline" ,readline))) - (synopsis "Bash-compatible Unix shell") - (description "Oil is a Unix / POSIX shell, compatible with Bash. It -implements the Oil language, which is a new shell language to which Bash can be -automatically translated. The Oil language is a superset of Bash. It also -implements the OSH language, a statically-parseable language based on Bash as it -is commonly written.") - (home-page "https://www.oilshell.org/") - (license (list psfl ; The Oil sources include a patched Python 2 source tree + (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 psfl ; tarball includes python2.7 asl2.0)))) (define-public oil-shell -- 2.17.1