2022-07-06 20:40:19 +02:00
|
|
|
{ lib
|
|
|
|
, makeDesktopItem
|
|
|
|
, copyDesktopItems
|
2024-04-26 22:24:03 +02:00
|
|
|
, wrapGAppsHook3
|
2022-07-06 20:40:19 +02:00
|
|
|
, glib
|
|
|
|
, gnome
|
|
|
|
, mkCoqDerivation
|
|
|
|
, coq
|
|
|
|
, version ? null }:
|
|
|
|
|
2023-01-21 23:19:48 +01:00
|
|
|
mkCoqDerivation rec {
|
2022-07-06 20:40:19 +02:00
|
|
|
pname = "coqide";
|
|
|
|
inherit version;
|
|
|
|
|
|
|
|
inherit (coq) src;
|
|
|
|
release."${coq.version}" = {};
|
|
|
|
|
2023-01-21 23:19:48 +01:00
|
|
|
defaultVersion = if lib.versions.isGe "8.14" coq.version then coq.version else null;
|
2022-07-06 20:40:19 +02:00
|
|
|
|
|
|
|
preConfigure = ''
|
|
|
|
patchShebangs dev/tools/
|
|
|
|
'';
|
|
|
|
prefixKey = "-prefix ";
|
|
|
|
|
2022-10-01 16:42:29 +02:00
|
|
|
useDune = true;
|
2022-07-06 20:40:19 +02:00
|
|
|
|
|
|
|
buildInputs = [
|
|
|
|
copyDesktopItems
|
2024-04-26 22:24:03 +02:00
|
|
|
wrapGAppsHook3
|
2022-07-06 20:40:19 +02:00
|
|
|
coq.ocamlPackages.lablgtk3-sourceview3
|
|
|
|
glib
|
|
|
|
gnome.adwaita-icon-theme
|
|
|
|
];
|
|
|
|
|
|
|
|
buildPhase = ''
|
|
|
|
runHook preBuild
|
|
|
|
dune build -p ${pname} -j $NIX_BUILD_CORES
|
|
|
|
runHook postBuild
|
|
|
|
'';
|
|
|
|
installPhase = ''
|
|
|
|
runHook preInstall
|
|
|
|
dune install --prefix $out ${pname}
|
|
|
|
runHook postInstall
|
|
|
|
'';
|
|
|
|
|
|
|
|
desktopItems = makeDesktopItem {
|
|
|
|
name = "coqide";
|
|
|
|
exec = "coqide";
|
|
|
|
icon = "coq";
|
|
|
|
desktopName = "CoqIDE";
|
|
|
|
comment = "Graphical interface for the Coq proof assistant";
|
|
|
|
categories = [ "Development" "Science" "Math" "IDE" "GTK" ];
|
|
|
|
};
|
|
|
|
|
|
|
|
meta = with lib; {
|
|
|
|
homepage = "https://coq.inria.fr";
|
|
|
|
description = "The CoqIDE user interface for the Coq proof assistant";
|
2024-03-19 03:14:51 +01:00
|
|
|
mainProgram = "coqide";
|
2022-07-06 20:40:19 +02:00
|
|
|
license = licenses.lgpl21Plus;
|
|
|
|
maintainers = [ maintainers.Zimmi48 ];
|
|
|
|
};
|
|
|
|
}
|