Skip to content
Snippets Groups Projects
internal-tests.nix 3.02 KiB
# Note: plugins are loaded from 'internal-tests.sh'

# Nix
{ lib
, stdenvNoCC # for E-ACSL
, fetchurl
, gitignoreSource
, makeWrapper
, nix-gitignore
, wrapGAppsHook
, writeText
# Generic
, findlib
# Frama-C build
, apron
, camlzip
, camomile
, clang
, dune_3
, dune-configurator
, dune-site
, gcc9
, graphviz
, lablgtk3
, lablgtk3-sourceview3
, ltl2ba
, menhir
, menhirLib
, mlmpfr
, ocaml
, ocamlgraph
, ocp-indent
, ppx_deriving
, ppx_deriving_yaml
, ppx_deriving_yojson
, ppx_import
, unionFind
, yojson
, which
, why3
, yaml
, zarith
, zmq
# Frama-C tests
, alt-ergo
, dos2unix
, doxygen
, perl
, pkgs
, python3
, python3Packages
, yq
, swiProlog
, time
, wp-cache
}:

# We do not use buildDunePackage because Frama-C still uses a Makefile to build
# some files and prepare some information before starting dune.
stdenvNoCC.mkDerivation rec {
  pname = "frama-c-internal-tests";
  version =
    lib.strings.replaceStrings ["~"] ["-"]
      (lib.strings.removeSuffix "\n"
        (builtins.readFile ../VERSION));
  slang = lib.strings.removeSuffix "\n" (builtins.readFile ../VERSION_CODENAME);

  src = gitignoreSource ./..;

  nativeBuildInputs = [