ocamlPackages_3_11_2: remove

This requires removing also the Coq 8.3 and Matita 0.5.8 packages.

Coq 8.3 was released 8 years ago (2010) and there is no trace left
of users of this version (contrary to Coq 8.4, released 2012).
It is well over time to remove it.

Matita 0.5.8 was released in 2010 and because this version was still
used for teaching according to the official website, a legacy release
(0.5.9) was released in 5 years later to compile with more recent
OCaml libraries.
Updating to 0.5.9 (or a more recent version like 0.99.3) should allow
getting rid of the dependency on older OCaml but it is hard to test
given that the package is already broken before this update.
This commit is contained in:
Théo Zimmermann 2018-10-08 21:10:05 +02:00
parent 62cf2840bd
commit 34394a38ef
No known key found for this signature in database
GPG Key ID: F1744A0942F536C7
7 changed files with 14 additions and 1228 deletions

View File

@ -1,82 +0,0 @@
# - coqide compilation can be disabled by setting lablgtk to null;
# - The csdp program used for the Micromega tactic is statically referenced.
# However, coq can build without csdp by setting it to null.
# In this case some Micromega tactics will search the user's path for the csdp program and will fail if it is not found.
{ stdenv, lib, make, fetchurl
, ocaml, findlib, camlp5, ncurses, lablgtk ? null, csdp ? null }:
assert lib.versionOlder ocaml.version "4";
let
version = "8.3pl4";
buildIde = lablgtk != null;
ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else "";
idePatch = if buildIde then ''
substituteInPlace scripts/coqmktop.ml --replace \
"\"-I\"; \"+lablgtk2\"" \
"\"-I\"; \"$(echo "${lablgtk}"/lib/ocaml/*/site-lib/lablgtk2)\"; \"-I\"; \"$(echo "${lablgtk}"/lib/ocaml/*/site-lib/stublibs)\""
'' else "";
csdpPatch = if csdp != null then ''
substituteInPlace plugins/micromega/sos.ml --replace "; csdp" "; ${csdp}/bin/csdp"
substituteInPlace plugins/micromega/coq_micromega.ml --replace "System.search_exe_in_path \"csdp\"" "Some \"${csdp}/bin/csdp\""
'' else "";
in
stdenv.mkDerivation {
name = "coq-${version}";
src = fetchurl {
url = "https://coq.inria.fr/V${version}/files/coq-${version}.tar.gz";
sha256 = "17d3lmchmqir1rawnr52g78srg4wkd7clzpzfsivxc4y1zp6rwkr";
};
buildInputs = [ make ocaml findlib camlp5 ncurses lablgtk ];
prefixKey = "-prefix ";
preConfigure = ''
configureFlagsArray=(
-opt
-camldir ${ocaml}/bin
-camlp5dir $(ocamlfind query camlp5)
${ideFlags}
)
'';
buildFlags = "world"; # Debug with "world VERBOSE=1";
patches = [ ./configure.8.3.patch ];
postPatch = ''
UNAME=$(type -tp uname)
RM=$(type -tp rm)
substituteInPlace configure --replace "/bin/uname" "$UNAME"
substituteInPlace tools/beautify-archive --replace "/bin/rm" "$RM"
${idePatch}
${csdpPatch}
'';
# This post install step is needed to build ssrcoqide from the ssreflect package
# It could be made optional, but I see little harm in including it in the default
# distribution -- roconnor
# This will likely no longer be necessary for coq >= 8.4. -- roconnor
postInstall = if buildIde then ''
cp ide/*.cmi ide/ide.*a $out/lib/coq/ide/
'' else "";
meta = with stdenv.lib; {
description = "Coq proof assistant";
longDescription = ''
Coq is a formal proof management system. It provides a formal language
to write mathematical definitions, executable algorithms and theorems
together with an environment for semi-interactive development of
machine-checked proofs.
'';
homepage = http://coq.inria.fr;
license = licenses.lgpl21;
branch = "8.3";
maintainers = with maintainers; [ roconnor vbgl ];
platforms = with platforms; linux;
};
}

File diff suppressed because it is too large Load Diff

View File

@ -1,19 +0,0 @@
diff --git a/Makefile.build b/Makefile.build
index 2963a3d..876479c 100644
--- a/Makefile.build
+++ b/Makefile.build
@@ -101,13 +101,8 @@ BYTEFLAGS=$(CAMLDEBUG) $(USERFLAGS)
OPTFLAGS=$(CAMLDEBUGOPT) $(CAMLTIMEPROF) $(USERFLAGS)
DEPFLAGS= $(LOCALINCLUDES) -I ide -I ide/utils
-ifeq ($(ARCH),Darwin)
-LINKMETADATA=-ccopt "-sectcreate __TEXT __info_plist config/Info-$(notdir $@).plist"
-CODESIGN=codesign -s -
-else
LINKMETADATA=
CODESIGN=true
-endif
define bestocaml
$(if $(OPT),\

View File

@ -329,7 +329,7 @@ mapAliases ({
callPackage_i686 = pkgsi686Linux.callPackage; callPackage_i686 = pkgsi686Linux.callPackage;
inherit (ocaml-ng) # added 2016-09-14 inherit (ocaml-ng) # added 2016-09-14
ocamlPackages_3_11_2 ocamlPackages_3_12_1 ocamlPackages_3_12_1
ocamlPackages_4_00_1 ocamlPackages_4_01_0 ocamlPackages_4_02 ocamlPackages_4_00_1 ocamlPackages_4_01_0 ocamlPackages_4_02
ocamlPackages_4_03 ocamlPackages_4_03
ocamlPackages_latest; ocamlPackages_latest;
@ -348,7 +348,6 @@ mapAliases ({
gst-ffmpeg = pkgs.gst-ffmpeg; gst-ffmpeg = pkgs.gst-ffmpeg;
}; };
} // (with ocaml-ng; { # added 2016-09-14 } // (with ocaml-ng; { # added 2016-09-14
ocaml_3_11_2 = ocamlPackages_3_11_2.ocaml;
ocaml_3_12_1 = ocamlPackages_3_12_1.ocaml; ocaml_3_12_1 = ocamlPackages_3_12_1.ocaml;
ocaml_4_00_1 = ocamlPackages_4_00_1.ocaml; ocaml_4_00_1 = ocamlPackages_4_00_1.ocaml;
ocaml_4_01_0 = ocamlPackages_4_01_0.ocaml; ocaml_4_01_0 = ocamlPackages_4_01_0.ocaml;

View File

@ -21148,12 +21148,11 @@ with pkgs;
boogie = dotnetPackages.Boogie; boogie = dotnetPackages.Boogie;
inherit (callPackage ./coq-packages.nix { inherit (callPackage ./coq-packages.nix {
inherit (ocaml-ng) ocamlPackages_3_12_1 inherit (ocaml-ng) ocamlPackages_4_02
ocamlPackages_4_02
ocamlPackages_4_05 ocamlPackages_4_05
; ;
}) mkCoqPackages }) mkCoqPackages
coq_8_3 coq_8_4 coq_8_5 coq_8_6 coq_8_7 coq_8_8 coq_8_4 coq_8_5 coq_8_6 coq_8_7 coq_8_8
coqPackages_8_5 coqPackages_8_6 coqPackages_8_7 coqPackages_8_8 coqPackages_8_5 coqPackages_8_6 coqPackages_8_7 coqPackages_8_8
coqPackages coq coqPackages coq
; ;
@ -21232,7 +21231,17 @@ with pkgs;
ltl2ba = callPackage ../applications/science/logic/ltl2ba {}; ltl2ba = callPackage ../applications/science/logic/ltl2ba {};
inherit (ocaml-ng.ocamlPackages_3_11_2) matita; #inherit (ocaml-ng.ocamlPackages_3_11_2) matita;
# Current version is 0.5.8. Official website says:
# Version 0.5.9, released on December 23, 2014, is an update of version 0.5.8
# to compile with the latter OCaml version and libraries.
# It is unsupported, but still used for teaching at the University of Bologna.
# It should allow us removing the dependency on OCaml 3.11 but I haven't been
# able to confirm because Matita depends on lablgtkmathview-0.7.2 which
# already reports as broken.
matita_130312 = lowPrio ocamlPackages.matita_130312; matita_130312 = lowPrio ocamlPackages.matita_130312;

View File

@ -1,6 +1,5 @@
{ lib, callPackage, newScope, recurseIntoAttrs { lib, callPackage, newScope, recurseIntoAttrs
, gnumake3 , gnumake3
, ocamlPackages_3_12_1
, ocamlPackages_4_02 , ocamlPackages_4_02
, ocamlPackages_4_05 , ocamlPackages_4_05
}: }:
@ -56,12 +55,6 @@ in rec {
let self = mkCoqPackages' self coq; in let self = mkCoqPackages' self coq; in
filterCoqPackages coq self; filterCoqPackages coq self;
coq_8_3 = callPackage ../applications/science/logic/coq/8.3.nix {
make = gnumake3;
inherit (ocamlPackages_3_12_1) ocaml findlib;
camlp5 = ocamlPackages_3_12_1.camlp5_transitional;
lablgtk = ocamlPackages_3_12_1.lablgtk_2_14;
};
coq_8_4 = callPackage ../applications/science/logic/coq/8.4.nix { coq_8_4 = callPackage ../applications/science/logic/coq/8.4.nix {
inherit (ocamlPackages_4_02) ocaml findlib lablgtk; inherit (ocamlPackages_4_02) ocaml findlib lablgtk;
camlp5 = ocamlPackages_4_02.camlp5_transitional; camlp5 = ocamlPackages_4_02.camlp5_transitional;

View File

@ -1065,8 +1065,6 @@ in rec
inherit mkOcamlPackages; inherit mkOcamlPackages;
ocamlPackages_3_11_2 = mkOcamlPackages (callPackage ../development/compilers/ocaml/3.11.2.nix { }) (self: super: { lablgtk = self.lablgtk_2_14; });
ocamlPackages_3_12_1 = mkOcamlPackages (callPackage ../development/compilers/ocaml/3.12.1.nix { }) (self: super: { camlimages = self.camlimages_4_0; }); ocamlPackages_3_12_1 = mkOcamlPackages (callPackage ../development/compilers/ocaml/3.12.1.nix { }) (self: super: { camlimages = self.camlimages_4_0; });
ocamlPackages_4_00_1 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.00.1.nix { }) (self: super: { }); ocamlPackages_4_00_1 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.00.1.nix { }) (self: super: { });