at master 72 lines 1.4 kB view raw
1{ 2 lib, 3 makeDesktopItem, 4 copyDesktopItems, 5 wrapGAppsHook3, 6 glib, 7 adwaita-icon-theme, 8 mkCoqDerivation, 9 coq, 10 version ? null, 11}: 12 13mkCoqDerivation rec { 14 pname = "coqide"; 15 inherit version; 16 17 inherit (coq) src; 18 release."${coq.version}" = { }; 19 20 defaultVersion = if lib.versions.range "8.14" "8.20" coq.version then coq.version else null; 21 22 preConfigure = '' 23 patchShebangs dev/tools/ 24 ''; 25 prefixKey = "-prefix "; 26 27 useDune = true; 28 29 buildInputs = [ 30 copyDesktopItems 31 wrapGAppsHook3 32 coq.ocamlPackages.lablgtk3-sourceview3 33 glib 34 adwaita-icon-theme 35 ]; 36 37 buildPhase = '' 38 runHook preBuild 39 dune build -p ${pname} -j $NIX_BUILD_CORES 40 runHook postBuild 41 ''; 42 installPhase = '' 43 runHook preInstall 44 dune install --prefix $out ${pname} 45 runHook postInstall 46 ''; 47 48 desktopItems = [ 49 (makeDesktopItem { 50 name = "coqide"; 51 exec = "coqide"; 52 icon = "coq"; 53 desktopName = "CoqIDE"; 54 comment = "Graphical interface for the Coq proof assistant"; 55 categories = [ 56 "Development" 57 "Science" 58 "Math" 59 "IDE" 60 "GTK" 61 ]; 62 }) 63 ]; 64 65 meta = with lib; { 66 homepage = "https://coq.inria.fr"; 67 description = "CoqIDE user interface for the Coq proof assistant"; 68 mainProgram = "coqide"; 69 license = licenses.lgpl21Plus; 70 maintainers = [ maintainers.Zimmi48 ]; 71 }; 72}