diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/science/logic/coq/default.nix')
-rw-r--r-- | nixpkgs/pkgs/applications/science/logic/coq/default.nix | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/nixpkgs/pkgs/applications/science/logic/coq/default.nix b/nixpkgs/pkgs/applications/science/logic/coq/default.nix index 0a4e1dddcae3..774fbadd4fd3 100644 --- a/nixpkgs/pkgs/applications/science/logic/coq/default.nix +++ b/nixpkgs/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,9 +27,15 @@ let "8.8.1" = "1hlf58gwazywbmfa48219amid38vqdl94yz21i11b4map6jfwhbk"; "8.8.2" = "1lip3xja924dm6qblisk1bk0x8ai24s5xxqxphbdxj6djglj68fd"; "8.9.0" = "1dkgdjc4n1m15m1p724hhi5cyxpqbjw6rxc5na6fl3v4qjjfnizh"; + "8.10+beta1" = "19wf39i0ap2vakglgdlqxpjd3l1h5w7dp460w8y7nc1y06b2153h"; }."${version}"; - coq-version = builtins.substring 0 3 version; - ideFlags = if buildIde then "-lablgtkdir ${ocamlPackages.lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else ""; + 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)))); + 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" @@ -96,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) @@ -117,7 +127,9 @@ self = stdenv.mkDerivation { addEnvHooks "$targetOffset" addCoqPath ''; - preConfigure = '' + preConfigure = if versionAtLeast "8.10" then '' + patchShebangs dev/tools/ + '' else '' configureFlagsArray=( ${ideFlags} ) |