diff options
author | Maciej Krüger <mkg20001@gmail.com> | 2024-01-26 17:03:58 +0100 |
---|---|---|
committer | Maciej Krüger <mkg20001@gmail.com> | 2024-02-08 10:19:08 +0100 |
commit | c627c0f561795577e75438598745cac758f7fea1 (patch) | |
tree | 37c05681ccf4229f1d19fd2ff353826313200fa3 /pkgs/by-name/oi | |
parent | fb988d2f7a085c849ef3cbdf16af3641c6896304 (diff) |
oil: init at 0.20.0
This is the new C++ version Co-authored-by: Szymon Scholz <raspher@protonmail.com>
Diffstat (limited to 'pkgs/by-name/oi')
-rw-r--r-- | pkgs/by-name/oi/oil/package.nix | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/pkgs/by-name/oi/oil/package.nix b/pkgs/by-name/oi/oil/package.nix new file mode 100644 index 0000000000000..78109a5396fe1 --- /dev/null +++ b/pkgs/by-name/oi/oil/package.nix @@ -0,0 +1,74 @@ +{ stdenv, lib, fetchurl, symlinkJoin, withReadline ? true, readline }: + +let + readline-all = symlinkJoin { + name = "readline-all"; paths = [ readline readline.dev ]; + }; +in +stdenv.mkDerivation rec { + pname = "oil"; + version = "0.20.0"; + + src = fetchurl { + url = "https://www.oilshell.org/download/oils-for-unix-${version}.tar.gz"; + hash = "sha256-d4BIRj8bPyd7awZyJPlZYBwr+o82IKGh4y4/urOYOxc="; + }; + + postPatch = '' + patchShebangs _build + ''; + + preInstall = '' + mkdir -p $out/bin + ''; + + buildPhase = '' + runHook preBuild + + _build/oils.sh + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + ./install + + runHook postInstall + ''; + + strictDeps = true; + buildInputs = lib.optional withReadline readline; + # As of 0.19.0 the build generates an error on MacOS (using clang version 16.0.6 in the builder), + # whereas running it outside of Nix with clang version 15.0.0 generates just a warning. The shell seems to + # work just fine though, so we disable the error here. + env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-error=incompatible-function-pointer-types"; + configureFlags = [ + "--datarootdir=${placeholder "out"}" + ] ++ lib.optionals withReadline [ + "--with-readline" + "--readline=${readline-all}" + ]; + + # Stripping breaks the bundles by removing the zip file from the end. + dontStrip = true; + + meta = { + description = "A new unix shell"; + homepage = "https://www.oilshell.org/"; + + license = with lib.licenses; [ + psfl # Includes a portion of the python interpreter and standard library + asl20 # Licence for Oil itself + ]; + + platforms = lib.platforms.all; + maintainers = with lib.maintainers; [ lheckemann alva ]; + changelog = "https://www.oilshell.org/release/${version}/changelog.html"; + }; + + passthru = { + shellPath = "/bin/osh"; + }; +} |