about summary refs log tree commit diff
path: root/nixpkgs/pkgs/tools/games/weidu/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/tools/games/weidu/default.nix')
-rw-r--r--nixpkgs/pkgs/tools/games/weidu/default.nix15
1 files changed, 7 insertions, 8 deletions
diff --git a/nixpkgs/pkgs/tools/games/weidu/default.nix b/nixpkgs/pkgs/tools/games/weidu/default.nix
index 0a144604b13d..580eea067031 100644
--- a/nixpkgs/pkgs/tools/games/weidu/default.nix
+++ b/nixpkgs/pkgs/tools/games/weidu/default.nix
@@ -5,18 +5,14 @@
 , ocaml-ng
 , perl
 , which
+, gnumake42
 }:
 
 let
-  # 1. Needs ocaml >= 4.04 and <= 4.11
+  # 1. Needs ocaml >= 4.04 and <= 4.11 (patched against 4.14)
   # 2. ocaml 4.10 defaults to safe (immutable) strings so we need a version with
   #    that disabled as weidu is strongly dependent on mutable strings
-  ocaml' = ocaml-ng.ocamlPackages_4_11.ocaml.overrideAttrs (old: {
-    configureFlags = old.configureFlags ++ [
-      # https://github.com/WeiDUorg/weidu/issues/197
-      "--disable-force-safe-string"
-    ];
-  });
+  ocaml' = ocaml-ng.ocamlPackages_4_14_unsafe_string.ocaml;
 
 in
 stdenv.mkDerivation rec {
@@ -36,9 +32,12 @@ stdenv.mkDerivation rec {
       --replace elkhound ${elkhound}/bin/elkhound
 
     mkdir -p obj/{.depend,x86_LINUX}
+
+    # undefined reference to `caml_hash_univ_param'
+    sed -i "20,21d;s/old_hash_param/hash_param/" hashtbl-4.03.0/myhashtbl.ml
   '';
 
-  nativeBuildInputs = [ elkhound ocaml' perl which ];
+  nativeBuildInputs = [ elkhound ocaml' perl which gnumake42 ];
 
   buildFlags = [ "weidu" "weinstall" "tolower" ];