summary refs log tree commit diff
diff options
context:
space:
mode:
authorPatrick Mahoney <pat@polycrystal.org>2022-01-16 00:10:50 -0600
committerPatrick Mahoney <pat@polycrystal.org>2022-05-15 15:02:03 -0500
commitad0d13cf37e298e42dd8fe6c95cabe86736ab669 (patch)
treef9f4ce26f7ee43bd451de6d45956c1751a7cace8
parentd48fc739dcaa96bcc3e33155e839304898a31a17 (diff)
downloadnixpkgs-ad0d13cf37e298e42dd8fe6c95cabe86736ab669.tar
nixpkgs-ad0d13cf37e298e42dd8fe6c95cabe86736ab669.tar.gz
nixpkgs-ad0d13cf37e298e42dd8fe6c95cabe86736ab669.tar.bz2
nixpkgs-ad0d13cf37e298e42dd8fe6c95cabe86736ab669.tar.lz
nixpkgs-ad0d13cf37e298e42dd8fe6c95cabe86736ab669.tar.xz
nixpkgs-ad0d13cf37e298e42dd8fe6c95cabe86736ab669.tar.zst
nixpkgs-ad0d13cf37e298e42dd8fe6c95cabe86736ab669.zip
koka: 2.3.6 -> 2.3.8
Include fix for mimalloc on darwin; see
https://github.com/koka-lang/koka/issues/243
-rw-r--r--pkgs/development/compilers/koka/default.nix12
-rw-r--r--pkgs/development/compilers/koka/kklib-mimalloc-macos-fix.diff10
2 files changed, 19 insertions, 3 deletions
diff --git a/pkgs/development/compilers/koka/default.nix b/pkgs/development/compilers/koka/default.nix
index 51d0a9ed7b9..031aac03ecc 100644
--- a/pkgs/development/compilers/koka/default.nix
+++ b/pkgs/development/compilers/koka/default.nix
@@ -4,19 +4,25 @@
 , parsec, process, regex-compat, text, time }:
 
 let
-  version = "2.3.6";
+  version = "2.3.8";
   src = fetchFromGitHub {
     owner = "koka-lang";
     repo = "koka";
     rev = "v${version}";
-    sha256 = "sha256-AibS/HudJKFQZlTxGD5LfwjBawIy1xwO2Hm8qzAUP2M=";
+    sha256 = "sha256-4a9UwtiWq9eFpNHpcrlhYUwzXcr1EXFMjBmDFYP933U=";
     fetchSubmodules = true;
   };
   kklib = stdenv.mkDerivation {
     pname = "kklib";
     inherit version;
     src = "${src}/kklib";
+    patches = [ ./kklib-mimalloc-macos-fix.diff ];
     nativeBuildInputs = [ cmake ];
+    outputs = [ "out" "dev" ];
+    postInstall = ''
+      mkdir -p ''${!outputDev}/share/koka/v${version}
+      cp -a ../../kklib ''${!outputDev}/share/koka/v${version}
+    '';
   };
   inherit (pkgsHostTarget.targetPackages.stdenv) cc;
   runtimeDeps = [
@@ -40,7 +46,7 @@ mkDerivation rec {
   postInstall = ''
     mkdir -p $out/share/koka/v${version}
     cp -a lib $out/share/koka/v${version}
-    cp -a kklib $out/share/koka/v${version}
+    ln -s ${kklib.dev}/share/koka/v${version}/kklib $out/share/koka/v${version}
     wrapProgram "$out/bin/koka" \
       --set CC "${lib.getBin cc}/bin/${cc.targetPrefix}cc" \
       --prefix PATH : "${lib.makeSearchPath "bin" runtimeDeps}"
diff --git a/pkgs/development/compilers/koka/kklib-mimalloc-macos-fix.diff b/pkgs/development/compilers/koka/kklib-mimalloc-macos-fix.diff
new file mode 100644
index 00000000000..7d77bfd18af
--- /dev/null
+++ b/pkgs/development/compilers/koka/kklib-mimalloc-macos-fix.diff
@@ -0,0 +1,10 @@
+--- kklib/mimalloc/src/random.c	1969-12-31 18:00:01.000000000 -0600
++++ kklib/mimalloc/src/random.c.new	2022-01-16 19:43:54.000000000 -0600
+@@ -195,6 +195,7 @@
+ #elif defined(__APPLE__)
+ #include <AvailabilityMacros.h>
+ #if defined(MAC_OS_X_VERSION_10_10) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_10
++#include <CommonCrypto/CommonCryptoError.h>
+ #include <CommonCrypto/CommonRandom.h>
+ #endif
+ static bool os_random_buf(void* buf, size_t buf_len) {