summaryrefslogtreecommitdiffstats
path: root/pkgs/top-level/ada-packages.nix
blob: 1a4cf5f751c1221e1489a7cc50e92e77bb2f7336 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
{
  lib,
  pkgs,
  makeScopeWithSplicing',
  generateSplicesForMkScope,
  gnat,
}:
let
  gnat_version = lib.versions.major gnat.version;
in
makeScopeWithSplicing' {
  otherSplices = generateSplicesForMkScope ("gnat" + gnat_version + "Packages");
  f = (
    self: {
      inherit gnat;

      gpr2 = self.callPackage ../development/ada-modules/gpr2 { };

      gprbuild-boot = self.callPackage ../development/ada-modules/gprbuild/boot.nix { };
      gprbuild = self.callPackage ../development/ada-modules/gprbuild { };

      xmlada = self.callPackage ../development/ada-modules/xmlada { };

      gnatprove =
        # They haven't released a version of gnatprove for gnat16 yet
        if lib.versionOlder gnat.version "16" then
          self.callPackage ../development/ada-modules/gnatprove {
            ocamlPackages = pkgs.ocaml-ng.ocamlPackages_4_14;
          }
        else
          null;

      gnatcoll-core = self.callPackage ../development/ada-modules/gnatcoll/core.nix { };

      # gnatcoll-bindings repository
      gnatcoll-cpp = self.callPackage ../development/ada-modules/gnatcoll/bindings.nix {
        component = "cpp";
      };
      gnatcoll-gmp = self.callPackage ../development/ada-modules/gnatcoll/bindings.nix {
        component = "gmp";
      };
      gnatcoll-iconv = self.callPackage ../development/ada-modules/gnatcoll/bindings.nix {
        component = "iconv";
      };
      gnatcoll-lzma = self.callPackage ../development/ada-modules/gnatcoll/bindings.nix {
        component = "lzma";
      };
      gnatcoll-omp = self.callPackage ../development/ada-modules/gnatcoll/bindings.nix {
        component = "omp";
      };
      gnatcoll-python3 = self.callPackage ../development/ada-modules/gnatcoll/bindings.nix {
        component = "python3";
        python3 = pkgs.python312;
      };
      gnatcoll-readline = self.callPackage ../development/ada-modules/gnatcoll/bindings.nix {
        component = "readline";
      };
      gnatcoll-syslog = self.callPackage ../development/ada-modules/gnatcoll/bindings.nix {
        component = "syslog";
      };
      gnatcoll-zlib = self.callPackage ../development/ada-modules/gnatcoll/bindings.nix {
        component = "zlib";
      };

      # gnatcoll-db repository
      gnatcoll-postgres = self.callPackage ../development/ada-modules/gnatcoll/db.nix {
        component = "postgres";
      };
      gnatcoll-sql = self.callPackage ../development/ada-modules/gnatcoll/db.nix { component = "sql"; };
      gnatcoll-sqlite = self.callPackage ../development/ada-modules/gnatcoll/db.nix {
        component = "sqlite";
      };
      gnatcoll-xref = self.callPackage ../development/ada-modules/gnatcoll/db.nix { component = "xref"; };
      gnatcoll-db2ada = self.callPackage ../development/ada-modules/gnatcoll/db.nix {
        component = "gnatcoll_db2ada";
      };
      gnatinspect = self.callPackage ../development/ada-modules/gnatcoll/db.nix {
        component = "gnatinspect";
      };
    }
  );
}