summary refs log tree commit diff
diff options
context:
space:
mode:
authorGabriel Ebner <gebner@gebner.org>2017-05-10 10:33:16 +0200
committerGabriel Ebner <gebner@gebner.org>2017-05-10 13:54:21 +0200
commit8da31b0e2eb16dd1dbac58545756b075792ac533 (patch)
treef083753fc144d0f3f6a186b00a21f94d5889ae5e
parente33848568d3321c4f042d8352168a8cf006646e6 (diff)
downloadnixpkgs-8da31b0e2eb16dd1dbac58545756b075792ac533.tar
nixpkgs-8da31b0e2eb16dd1dbac58545756b075792ac533.tar.gz
nixpkgs-8da31b0e2eb16dd1dbac58545756b075792ac533.tar.bz2
nixpkgs-8da31b0e2eb16dd1dbac58545756b075792ac533.tar.lz
nixpkgs-8da31b0e2eb16dd1dbac58545756b075792ac533.tar.xz
nixpkgs-8da31b0e2eb16dd1dbac58545756b075792ac533.tar.zst
nixpkgs-8da31b0e2eb16dd1dbac58545756b075792ac533.zip
fstar: 0.9.2.0 -> 0.9.4.0
-rw-r--r--pkgs/development/compilers/fstar/default.nix21
1 files changed, 16 insertions, 5 deletions
diff --git a/pkgs/development/compilers/fstar/default.nix b/pkgs/development/compilers/fstar/default.nix
index 24a4135bde1..00714875ffc 100644
--- a/pkgs/development/compilers/fstar/default.nix
+++ b/pkgs/development/compilers/fstar/default.nix
@@ -1,26 +1,37 @@
-{ stdenv, fetchFromGitHub, mono, fsharp, dotnetPackages, z3, ocamlPackages, openssl, makeWrapper }:
+{ stdenv, fetchFromGitHub, mono, fsharp, dotnetPackages, z3, ocamlPackages, openssl, makeWrapper, pkgconfig, file }:
 
 stdenv.mkDerivation rec {
   name = "fstar-${version}";
-  version = "0.9.2.0";
+  version = "0.9.4.0";
 
   src = fetchFromGitHub {
     owner = "FStarLang";
     repo = "FStar";
     rev = "v${version}";
-    sha256 = "0vrxmxfaslngvbvkzpm1gfl1s34hdsprv8msasxf9sjqc3hlir3l";
+    sha256 = "130779p5plsgvz0dkcqycns3vwrvyfl138nq2xdhd3rkdsbyyvb7";
   };
 
   nativeBuildInputs = [ makeWrapper ];
 
   buildInputs = with ocamlPackages; [
-    mono fsharp z3 dotnetPackages.FsLexYacc ocaml findlib ocaml_batteries openssl
+    mono fsharp z3 dotnetPackages.FsLexYacc ocaml findlib ocaml_batteries
+    zarith camlp4 yojson pprint openssl pkgconfig file
   ];
 
   preBuild = ''
     substituteInPlace src/Makefile --replace "\$(RUNTIME) VS/.nuget/NuGet.exe" "true"
+    substituteInPlace src/VS/.nuget/NuGet.targets --replace "mono" "true"
 
-    source setenv.sh
+    # Fails with bad interpreter otherwise
+    patchShebangs src/tools
+    patchShebangs bin
+
+    export FSharpTargetsPath="$(dirname $(pkg-config FSharp.Core --variable=Libraries))/Microsoft.FSharp.Targets"
+    # remove hardcoded windows paths
+    sed -i '/<FSharpTargetsPath/d' src/*/*.fsproj
+
+    mkdir -p src/VS/packages/FsLexYacc.6.1.0
+    ln -s ${dotnetPackages.FsLexYacc}/lib/dotnet/FsLexYacc src/VS/packages/FsLexYacc.6.1.0/build
   '';
 
   makeFlags = [