summary refs log tree commit diff
path: root/pkgs/applications/science/logic/coq/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/science/logic/coq/default.nix')
-rw-r--r--pkgs/applications/science/logic/coq/default.nix15
1 files changed, 12 insertions, 3 deletions
diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/default.nix
index 2488147d214..774fbadd4fd 100644
--- a/pkgs/applications/science/logic/coq/default.nix
+++ b/pkgs/applications/science/logic/coq/default.nix
@@ -8,6 +8,7 @@
 { stdenv, fetchFromGitHub, writeText, pkgconfig
 , ocamlPackages, ncurses
 , buildIde ? true
+, glib, gnome3, wrapGAppsHook
 , csdp ? null
 , version
 }:
@@ -26,12 +27,15 @@ let
    "8.8.1" = "1hlf58gwazywbmfa48219amid38vqdl94yz21i11b4map6jfwhbk";
    "8.8.2" = "1lip3xja924dm6qblisk1bk0x8ai24s5xxqxphbdxj6djglj68fd";
    "8.9.0" = "1dkgdjc4n1m15m1p724hhi5cyxpqbjw6rxc5na6fl3v4qjjfnizh";
+   "8.10+beta1" = "19wf39i0ap2vakglgdlqxpjd3l1h5w7dp460w8y7nc1y06b2153h";
   }."${version}";
   coq-version =
     let inherit (builtins) concatStringsSep head map; in
     let inherit (stdenv.lib) take splitString; in
     concatStringsSep "." (take 2 (map head (map (splitString "pl") (splitString "." version))));
-  ideFlags = if buildIde then "-lablgtkdir ${ocamlPackages.lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else "";
+  versionAtLeast = stdenv.lib.versionAtLeast coq-version;
+  ideFlags = stdenv.lib.optionalString (buildIde && !versionAtLeast "8.10")
+    "-lablgtkdir ${ocamlPackages.lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt";
   csdpPatch = if csdp != null then ''
     substituteInPlace plugins/micromega/sos.ml --replace "; csdp" "; ${csdp}/bin/csdp"
     substituteInPlace plugins/micromega/coq_micromega.ml --replace "System.is_in_system_path \"csdp\"" "true"
@@ -99,7 +103,10 @@ self = stdenv.mkDerivation {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ ncurses ] ++ (with ocamlPackages; [ ocaml findlib camlp5 num ])
-  ++ stdenv.lib.optional buildIde ocamlPackages.lablgtk;
+  ++ stdenv.lib.optionals buildIde
+    (if versionAtLeast "8.10"
+     then [ ocamlPackages.lablgtk3-sourceview3 glib gnome3.defaultIconTheme wrapGAppsHook ]
+     else [ ocamlPackages.lablgtk ]);
 
   postPatch = ''
     UNAME=$(type -tp uname)
@@ -120,7 +127,9 @@ self = stdenv.mkDerivation {
     addEnvHooks "$targetOffset" addCoqPath
   '';
 
-  preConfigure = ''
+  preConfigure = if versionAtLeast "8.10" then ''
+    patchShebangs dev/tools/
+  '' else ''
     configureFlagsArray=(
       ${ideFlags}
     )