summary refs log tree commit diff
diff options
context:
space:
mode:
authorMichael Raskin <7c6f434c@mail.ru>2014-08-12 16:22:19 +0400
committerMichael Raskin <7c6f434c@mail.ru>2014-08-12 16:22:25 +0400
commit4ab466cc567545e45ba23065a6fabd756b8b38de (patch)
tree5c0d991ceb22941b69cb8bcdb8d3de3a64b173f8
parent6129a7aea65a5bdf33d643d9644f4313afc04749 (diff)
downloadnixpkgs-4ab466cc567545e45ba23065a6fabd756b8b38de.tar
nixpkgs-4ab466cc567545e45ba23065a6fabd756b8b38de.tar.gz
nixpkgs-4ab466cc567545e45ba23065a6fabd756b8b38de.tar.bz2
nixpkgs-4ab466cc567545e45ba23065a6fabd756b8b38de.tar.lz
nixpkgs-4ab466cc567545e45ba23065a6fabd756b8b38de.tar.xz
nixpkgs-4ab466cc567545e45ba23065a6fabd756b8b38de.tar.zst
nixpkgs-4ab466cc567545e45ba23065a6fabd756b8b38de.zip
Update OpaLang; it still doesn't build for a mysterious reason: apparently the missing fields are actually defined…
-rw-r--r--pkgs/development/compilers/opa/default.nix30
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 25 insertions, 7 deletions
diff --git a/pkgs/development/compilers/opa/default.nix b/pkgs/development/compilers/opa/default.nix
index 68413e3e25d..c25080229ff 100644
--- a/pkgs/development/compilers/opa/default.nix
+++ b/pkgs/development/compilers/opa/default.nix
@@ -1,17 +1,17 @@
 { stdenv, fetchurl, which, ocaml, perl, jdk
 , findlib, ocaml_ssl, openssl, cryptokit, camlzip, ulex
 , ocamlgraph, coreutils, zlib, ncurses, makeWrapper
-, gcc, binutils, gnumake } :
+, gcc, binutils, gnumake, nodejs, git } :
 
 stdenv.mkDerivation rec {
   pname = "opa";
-  version = "962";
+  version = "4308";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://github.com/MLstate/opalang/tarball/v${version}";
     name = "opa-${version}.tar.gz";
-    sha256 = "0g4kq2kxbld0iqlzb076b7g43d8fh4sfxam615z15mbk1jcvpf9l";
+    sha256 = "1farii9474i14ack6bpqm1jihs6i8pvwky3a7q8v8pbnl4i6lb5g";
   };
 
   # Paths so the opa compiler code generation will use the same programs as were
@@ -23,18 +23,27 @@ stdenv.mkDerivation rec {
     find . -type f -exec sed -i 's@/usr/bin/perl@${perl}/bin/perl@' {} \;
   '';
 
-  patches = [ ./locate.patch ./libdir.patch ];
+  patches = [];
 
   preConfigure = ''
     configureFlags="$configureFlags -prefix $out"
+    (
+    cat ./compiler/buildinfos/buildInfos.ml.pre
+    ./compiler/buildinfos/generate_buildinfos.sh . --release --version ./compiler/buildinfos/version_major.txt 
+    echo let opa_git_version = ${version}
+    echo 'let opa_git_sha = "xxxx"'
+    cat ./compiler/buildinfos/buildInfos.ml.post
+    )> ./compiler/buildinfos/buildInfos.ml
   '';
 
   dontAddPrefix = true;
 
-  configureFlags = "-ocamlfind ${findlib}/bin/ocamlfind -openssl ${openssl}/lib";
+  configureFlags = "-ocamlfind ${findlib}/bin/ocamlfind ";
 
   buildInputs = [ which ocaml perl jdk findlib ocaml_ssl openssl cryptokit camlzip ulex
-                  ocamlgraph coreutils zlib ncurses makeWrapper gcc binutils gnumake ];
+                  ocamlgraph coreutils zlib ncurses makeWrapper gcc binutils gnumake
+		  nodejs git
+		  ];
 
   postInstall = ''
     # Have compiler use same tools for code generation as used to build it.
@@ -58,5 +67,14 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.gpl3;
     maintainers = [ stdenv.lib.maintainers.kkallio ];
     platforms = [ "x86_64-linux" ];
+    # File "compiler/libqmlcompil/dbGen/schema_io.ml", line 199, characters 3-53:
+    # Error: Signature mismatch:
+    #        ...
+    #     The field `remove_edge_e' is required but not provided
+    #     The field `remove_edge' is required but not provided
+    #     The field `remove_vertex' is required but not provided
+    # Command exited with code 2.
+    # make: *** [node] Error 10
+    broken = true;
   };
 }
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 2d55fee89f2..a7b78186e2c 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -3289,7 +3289,7 @@ let
 
   ocaml_make = callPackage ../development/ocaml-modules/ocamlmake { };
 
-  opa = let callPackage = newScope pkgs.ocamlPackages_3_12_1; in callPackage ../development/compilers/opa { };
+  opa = let callPackage = newScope pkgs.ocamlPackages_4_00_1; in callPackage ../development/compilers/opa { };
 
   ocamlnat = let callPackage = newScope pkgs.ocamlPackages_3_12_1; in callPackage ../development/ocaml-modules/ocamlnat { };