diff options
Diffstat (limited to 'pkgs/applications/science/logic/coq/default.nix')
-rw-r--r-- | pkgs/applications/science/logic/coq/default.nix | 15 |
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} ) |