GNU bug report logs -
#30221
[PATCH] gnu: Add the Oil shell.
Previous Next
Reported by: Leo Famulari <leo <at> famulari.name>
Date: Tue, 23 Jan 2018 00:30:02 UTC
Severity: normal
Tags: patch
Done: Leo Famulari <leo <at> famulari.name>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#30221: [PATCH] gnu: Add the Oil shell.
which was filed against the guix-patches package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 30221 <at> debbugs.gnu.org.
--
30221: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=30221
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
[Message part 3 (text/plain, inline)]
I used (substitute*) instead of a patch file and pushed as
18d9d22adc2050717c97a1d35ce876ee93395d76.
[signature.asc (application/pgp-signature, inline)]
[Message part 5 (message/rfc822, inline)]
* gnu/packages/shells.scm (oil-shell): New variable.
---
gnu/local.mk | 1 +
gnu/packages/patches/oil-shell-compiler-name.patch | 18 +++++++++
gnu/packages/shells.scm | 44 +++++++++++++++++++++-
3 files changed, 62 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/patches/oil-shell-compiler-name.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 240554fe4..6e3421b04 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -938,6 +938,7 @@ dist_patch_DATA = \
%D%/packages/patches/ocaml-Add-a-.file-directive.patch \
%D%/packages/patches/ocaml-findlib-make-install.patch \
%D%/packages/patches/ocaml-graph-honor-source-date-epoch.patch \
+ %D%/packages/patches/oil-shell-compiler-name.patch \
%D%/packages/patches/omake-fix-non-determinism.patch \
%D%/packages/patches/ola-readdir-r.patch \
%D%/packages/patches/openscenegraph-ffmpeg3.patch \
diff --git a/gnu/packages/patches/oil-shell-compiler-name.patch b/gnu/packages/patches/oil-shell-compiler-name.patch
new file mode 100644
index 000000000..bd55b5c32
--- /dev/null
+++ b/gnu/packages/patches/oil-shell-compiler-name.patch
@@ -0,0 +1,18 @@
+diff --git a/configure b/configure
+index c3c11d3..327f40b 100755
+--- a/configure
++++ b/configure
+@@ -85,11 +85,11 @@ done
+ # No output file, no logging, no stderr.
+ # TODO: Maybe send stdout/stderr to config.log?
+ cc_quiet() {
+- cc "$@" -o /dev/null >/dev/null 2>&1
++ gcc "$@" -o /dev/null >/dev/null 2>&1
+ }
+
+ cc_or_die() {
+- if ! cc "$@" >$TMP/cc.log 2>&1; then
++ if ! gcc "$@" >$TMP/cc.log 2>&1; then
+ log "Error running 'cc $@':"
+ cat $TMP/cc.log
+ die "Fatal compile error running feature test"
diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
index e374c41b9..2d6ad2486 100644
--- a/gnu/packages/shells.scm
+++ b/gnu/packages/shells.scm
@@ -7,7 +7,7 @@
;;; Copyright © 2016 Stefan Reichör <stefan <at> xsteve.at>
;;; Copyright © 2017 Ricardo Wurmus <rekado <at> elephly.net>
;;; Copyright © 2017, 2018 ng0 <ng0 <at> n0.is>
-;;; Copyright © 2017 Leo Famulari <leo <at> famulari.name>
+;;; Copyright © 2017, 2018 Leo Famulari <leo <at> famulari.name>
;;; Copyright © 2017 Arun Isaac <arunisaac <at> systemreboot.net>
;;;
;;; This file is part of GNU Guix.
@@ -644,3 +644,45 @@ Korn Shell programming language and a successor to the Public Domain Korn
Shell (pdksh).")
(license (list miros
isc)))) ; strlcpy.c
+
+(define-public oil-shell
+ (package
+ (name "oil-shell")
+ (version "0.3.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://www.oilshell.org/download/oil-"
+ version ".tar.xz"))
+ (patches (search-patches "oil-shell-compiler-name.patch"))
+ (sha256
+ (base32
+ "0j4fyn6xjaf29xqyzm09ahazmq9v1hkxv4kps7n3lzdfr32a4kk9"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:tests? #f ; the tests are not distributed in the tarballs
+ #:strip-binaries? #f ; the binaries cannot be stripped
+ #:phases
+ (modify-phases %standard-phases
+ (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)
+ "--with-readline"))))
+ (add-before 'install 'make-destination
+ (lambda _
+ ;; The build scripts don't create the destination directory.
+ (mkdir-p (string-append (assoc-ref %outputs "out") "/bin")))))))
+ (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
+ asl2.0))))
--
2.16.0
This bug report was last modified 7 years and 116 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.