From 3370615a7f1ad927ace45e268b694a184d2ffd43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20Zimmermann?= Date: Thu, 21 Sep 2017 15:06:51 +0200 Subject: [PATCH 1/2] compcert: 3.0.1 -> 3.1 Note that the fix of the VERSION file can likely be removed at the next update. --- pkgs/development/compilers/compcert/default.nix | 5 +++-- pkgs/top-level/all-packages.nix | 5 +---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/pkgs/development/compilers/compcert/default.nix b/pkgs/development/compilers/compcert/default.nix index f519776b6891..950c7f96b6fb 100644 --- a/pkgs/development/compilers/compcert/default.nix +++ b/pkgs/development/compilers/compcert/default.nix @@ -7,11 +7,11 @@ assert lib.versionAtLeast ocamlPackages.ocaml.version "4.02"; stdenv.mkDerivation rec { name = "compcert-${version}"; - version = "3.0.1"; + version = "3.1"; src = fetchurl { url = "http://compcert.inria.fr/release/${name}.tgz"; - sha256 = "0dgrj26dzdy4n3s9b5hwc6lm54vans1v4qx9hdp1q8w1qqcdriq9"; + sha256 = "0irfwlw2chalp0g2gw0makc699hn3z37sha1a239p9d90mzx03cx"; }; buildInputs = [ coq ] @@ -20,6 +20,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; configurePhase = '' + substituteInPlace VERSION --replace '3.0.1' '3.1' substituteInPlace ./configure --replace '{toolprefix}gcc' '{toolprefix}cc' ./configure -clightgen -prefix $out -toolprefix ${tools}/bin/ '' + (if stdenv.isDarwin then "x86_64-macosx" else "x86_64-linux"); diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 19a4432dfb82..f64d01562e39 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5341,10 +5341,7 @@ with pkgs; cmucl_binary = callPackage_i686 ../development/compilers/cmucl/binary.nix { }; - compcert = callPackage ../development/compilers/compcert { - # Pin the version of coq used in compcert to 8.6 until the next release - coq = callPackage ../applications/science/logic/coq { version = "8.6"; }; - }; + compcert = callPackage ../development/compilers/compcert { }; # Users installing via `nix-env` will likely be using the REPL, From 8fde5790b4f41cec33e994a0f7faa5326e503b7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20Zimmermann?= Date: Thu, 21 Sep 2017 15:24:17 +0200 Subject: [PATCH 2/2] compcert: fix license The license of CompCert is not a generic "INRIA" license. It is "INRIA Non-Commercial Agreement for the CompCert verified compiler". As unfortunate as it may seem, this is a non-free license (clearly mentioned as such in its preamble). See also #20256. --- lib/licenses.nix | 5 +++-- pkgs/development/compilers/compcert/default.nix | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/licenses.nix b/lib/licenses.nix index edf35ec035b2..a790b576032d 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -292,9 +292,10 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec { fullName = "Independent JPEG Group License"; }; - inria = { - fullName = "INRIA Non-Commercial License Agreement"; + inria-compcert = { + fullName = "INRIA Non-Commercial License Agreement for the CompCert verified compiler"; url = "http://compcert.inria.fr/doc/LICENSE"; + free = false; }; ipa = spdx { diff --git a/pkgs/development/compilers/compcert/default.nix b/pkgs/development/compilers/compcert/default.nix index 950c7f96b6fb..a12f1c42ba61 100644 --- a/pkgs/development/compilers/compcert/default.nix +++ b/pkgs/development/compilers/compcert/default.nix @@ -40,7 +40,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Formally verified C compiler"; homepage = "http://compcert.inria.fr"; - license = licenses.inria; + license = licenses.inria-compcert; platforms = platforms.linux ++ platforms.darwin; maintainers = with maintainers; [ thoughtpolice jwiegley vbgl ];