12 gnat_version = lib.versions.major gnat.version;
14 fetchSpark2014 = { rev, sha256 } : fetchFromGitHub {
17 fetchSubmodules = true;
23 src = fetchSpark2014 {
24 rev = "ab34e07080a769b63beacc141707b5885c49d375"; # branch fsf-12
25 sha256 = "sha256-7pe3eWitpxmqzjW6qEIEuN0qr2IR+kJ7Ssc9pTBcCD8=";
27 commit_date = "2022-05-25";
30 src = fetchSpark2014 {
31 rev = "12db22e854defa9d1c993ef904af1e72330a68ca"; # branch fsf-13
32 sha256 = "sha256-mZWP9yF1O4knCiXx8CqolnS+93bM+hTQy40cd0HZmwI=";
34 commit_date = "2023-01-05";
38 thisSpark = spark2014.${gnat_version} or
39 (builtins.throw "GNATprove depend on a specific GNAT version and can't be built using GNAT ${gnat_version}.");
42 stdenv.mkDerivation rec {
44 version = "fsf-${gnat_version}_${thisSpark.commit_date}";
61 ocamlPackages.menhirLib
67 propagatedBuildInputs = [
72 # gnat2why/gnat_src points to the GNAT sources
73 tar xf ${gnat.cc.src} gcc-${gnat.cc.version}/gcc/ada
74 mv gcc-${gnat.cc.version}/gcc/ada gnat2why/gnat_src
83 cp -a ./install/. $out
85 ln -s $out/lib/gnat/* $out/share/gpr/
89 description = "a software development technology specifically designed for engineering high-reliability applications";
90 homepage = "https://github.com/AdaCore/spark2014";
91 maintainers = [ maintainers.jiegec ];
92 license = licenses.gpl3;
93 platforms = platforms.all;