1{ stdenv, lib, fetchurl, withReadline ? true, readline }:
2
3stdenv.mkDerivation rec {
4 pname = "oil";
5 version = "0.12.0";
6
7 src = fetchurl {
8 url = "https://www.oilshell.org/download/oil-${version}.tar.xz";
9 hash = "sha256-1zwGfM17SWWIvQ19cSbIfiLRaq+Ee1r94GPJWJEPoP8=";
10 };
11
12 postPatch = ''
13 patchShebangs build
14 '';
15
16 preInstall = ''
17 mkdir -p $out/bin
18 '';
19
20 strictDeps = true;
21 buildInputs = lib.optional withReadline readline;
22 configureFlags = lib.optional withReadline "--with-readline";
23
24 # Stripping breaks the bundles by removing the zip file from the end.
25 dontStrip = true;
26
27 meta = {
28 description = "A new unix shell";
29 homepage = "https://www.oilshell.org/";
30
31 license = with lib.licenses; [
32 psfl # Includes a portion of the python interpreter and standard library
33 asl20 # Licence for Oil itself
34 ];
35
36 platforms = lib.platforms.all;
37 maintainers = with lib.maintainers; [ lheckemann alva ];
38 changelog = "https://www.oilshell.org/release/${version}/changelog.html";
39 };
40
41 passthru = {
42 shellPath = "/bin/osh";
43 };
44}