python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / development / compilers / koka / default.nix
blob901830ffb70e2f7e8418d1f9f125dc69df9a9377
1 { stdenv, pkgsHostTarget, cmake, makeWrapper, mkDerivation, fetchFromGitHub
2 , alex, array, base, bytestring, cond, containers, directory, extra
3 , filepath, hpack, hspec, hspec-core, isocline, json, lib, mtl
4 , parsec, process, regex-compat, text, time }:
6 let
7   version = "2.4.0";
8   src = fetchFromGitHub {
9     owner = "koka-lang";
10     repo = "koka";
11     rev = "v${version}";
12     sha256 = "sha256-+evs5g0qrplUMr8zC51GvUx2JXQBYJb39IaI4rC6CSA=";
13     fetchSubmodules = true;
14   };
15   kklib = stdenv.mkDerivation {
16     pname = "kklib";
17     inherit version;
18     src = "${src}/kklib";
19     patches = [ ./kklib-mimalloc-macos-fix.diff ];
20     nativeBuildInputs = [ cmake ];
21     outputs = [ "out" "dev" ];
22     postInstall = ''
23       mkdir -p ''${!outputDev}/share/koka/v${version}
24       cp -a ../../kklib ''${!outputDev}/share/koka/v${version}
25     '';
26   };
27   inherit (pkgsHostTarget.targetPackages.stdenv) cc;
28   runtimeDeps = [
29     cc
30     cc.bintools.bintools
31     pkgsHostTarget.gnumake
32     pkgsHostTarget.cmake
33   ];
35 mkDerivation rec {
36   pname = "koka";
37   inherit version src;
38   isLibrary = false;
39   isExecutable = true;
40   libraryToolDepends = [ hpack ];
41   executableHaskellDepends = [
42     array base bytestring cond containers directory isocline mtl
43     parsec process text time kklib
44   ];
45   executableToolDepends = [ alex makeWrapper ];
46   postInstall = ''
47     mkdir -p $out/share/koka/v${version}
48     cp -a lib $out/share/koka/v${version}
49     ln -s ${kklib.dev}/share/koka/v${version}/kklib $out/share/koka/v${version}
50     wrapProgram "$out/bin/koka" \
51       --set CC "${lib.getBin cc}/bin/${cc.targetPrefix}cc" \
52       --prefix PATH : "${lib.makeSearchPath "bin" runtimeDeps}"
53   '';
54   doCheck = false;
55   prePatch = "hpack";
56   description = "Koka language compiler and interpreter";
57   homepage = "https://github.com/koka-lang/koka";
58   changelog = "${homepage}/blob/master/doc/spec/news.mdk";
59   license = lib.licenses.asl20;
60   maintainers = with lib.maintainers; [ siraben sternenseemann ];