diff options
author | Thomas Heijligen <src@posteo.de> | 2024-02-19 20:17:42 +0000 |
---|---|---|
committer | sternenseemann <sternenseemann@systemli.org> | 2024-02-25 18:19:50 +0100 |
commit | f2a142727cc0fbc92a9b420567418df9dd36e568 (patch) | |
tree | b682a81e81f481982046e52f820210c5549933a0 /pkgs/top-level/ada-packages.nix | |
parent | c02503b58237072965308415f87e709af128516c (diff) |
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.
Diffstat (limited to 'pkgs/top-level/ada-packages.nix')
-rw-r--r-- | pkgs/top-level/ada-packages.nix | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/pkgs/top-level/ada-packages.nix b/pkgs/top-level/ada-packages.nix new file mode 100644 index 0000000000000..2d3d0c4dc3fa4 --- /dev/null +++ b/pkgs/top-level/ada-packages.nix @@ -0,0 +1,45 @@ +{ 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"; }; + }); +} + |