nixpkgs/pkgs/top-level/ada-packages.nix
Thomas Heijligen f2a142727c gnatPackages: Add scope for all ada packages
Ada depencencies musst be build with the same gnat version as the
project. Use a namespace as preperation to build with different gnat
versions.

gprbuild and gnatprove are still globaly visable.
2024-02-25 18:19:50 +01:00

46 lines
2.4 KiB
Nix

{ 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;
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 = self.callPackage ../development/ada-modules/gnatprove {
ocamlPackages = pkgs.ocaml-ng.ocamlPackages_4_14;
};
gnatcoll-core = self.callPackage ../development/ada-modules/gnatcoll/core.nix { };
# gnatcoll-bindings repository
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.python39; };
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"; };
});
}