Add Ada Database Objects 2.5.0 crates (Core, MySQL, PostgreSQL and SQLite/SLQCipher drivers) (#1636)

This commit is contained in:
Stephane Carrez
2025-10-21 14:46:18 +02:00
committed by GitHub
parent b9a8e6881a
commit de5e1ed31f
5 changed files with 216 additions and 0 deletions
+62
View File
@@ -0,0 +1,62 @@
description = "Ada Database Objects (Core library)"
tags = ["database", "uml", "sql"]
name = "ado"
version = "2.5.0"
licenses = "Apache-2.0"
authors = ["Stephane.Carrez@gmail.com"]
maintainers = ["Stephane.Carrez@gmail.com"]
maintainers-logins = ["stcarrez"]
project-files = ["ado.gpr"]
website = "https://gitlab.com/stcarrez/ada-ado"
long-description = """
[![Build Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-ado/badges/build.json)](https://porion.vacs.fr/porion/projects/view/ada-ado/summary)
[![Test Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-ado/badges/tests.json)](https://porion.vacs.fr/porion/projects/view/ada-ado/xunits)
[![Coverage](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-ado/badges/coverage.json)](https://porion.vacs.fr/porion/projects/view/ada-ado/summary)
[![Documentation Status](https://readthedocs.org/projects/ada-ado/badge/?version=latest)](https://ada-ado.readthedocs.io/en/latest/?badge=latest)
Ada Database Objects is an Ada05 library that provides
object relational mapping to access a database in Ada05.
The library supports Postgresql, MySQL, SQLite as databases.
Most of the concepts developped for ADO come from the Java Hibernate ORM.
The ORM uses an YAML, XML mapping file or an UML model, a code generator and a runtime library
for the implementation. It provides a database driver for [Postgresql](https://www.postgresql.org/),
[MySQL](https://www.mysql.com/), [SQLite](https://www.sqlite.org/) or
[SQLCipher](https://www.zetetic.net/sqlcipher/). The ORM helps your
application by providing a mapping of your database tables directly in the target programming
language: Ada05 in our case. The development process is the following:
* You design your database model either using a UML tool or by writing a YAML or XML description,
* You generate the Ada05 mapping files by using the [Dynamo](https://github.com/stcarrez/dynamo) code generator,
* You generate the SQL database tables by using the same tool,
* You write your application on top of the generated code that gives you direct and simplified access to your database.
![ADO Development model](https://github.com/stcarrez/ada-ado/wiki/images/ado-orm.png)
You need at least one of these databases (or all of then). The configure script will now
fail if no supported database was found. Check the [Database Drivers](#database-drivers)
section to install them and run the configure again after the installation.
# Documentation
* [Ada Database Objects Programmer's Guide](https://ada-ado.readthedocs.io/en/latest/)
* [Persistence with Ada Database Objects](https://fr.slideshare.net/StephaneCarrez1/persistence-with-ada-database-objects-ado) FOSDEM 2019
"""
[[depends-on]]
utilada = "^2.8.0"
utilada_xml = "^2.8.0"
[gpr-externals]
ADO_LIBRARY_TYPE = ["relocatable", "static", "static-pic"]
ADO_BUILD = ["distrib", "debug", "optimize", "profile", "coverage"]
[configuration]
disabled = true
[origin]
commit = "9071ae7cb3a82085f7d59fc5a387c9e834a5dd69"
url = "git+https://gitlab.com/stcarrez/ada-ado.git"
+41
View File
@@ -0,0 +1,41 @@
description = "Ada Database Objects (All drivers)"
tags = ["database", "uml", "sql", "mysql", "mariadb", "sqlite", "postgresql"]
name = "ado_all"
version = "2.5.0"
licenses = "Apache-2.0"
authors = ["Stephane.Carrez@gmail.com"]
maintainers = ["Stephane.Carrez@gmail.com"]
maintainers-logins = ["stcarrez"]
project-files = ["ado_all.gpr"]
website = "https://gitlab.com/stcarrez/ada-ado"
long-description = """
[![Build Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-ado/badges/build.json)](https://porion.vacs.fr/porion/projects/view/ada-ado/summary)
[![Test Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-ado/badges/tests.json)](https://porion.vacs.fr/porion/projects/view/ada-ado/xunits)
[![Coverage](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-ado/badges/coverage.json)](https://porion.vacs.fr/porion/projects/view/ada-ado/summary)
[![Documentation Status](https://readthedocs.org/projects/ada-ado/badge/?version=latest)](https://ada-ado.readthedocs.io/en/latest/?badge=latest)
This crate give access to the PostgreSQL, MySQL and SQLite drivers for the Ada Database Objects library.
"""
[[depends-on]]
ado = "^2.5.0"
[configuration]
disabled = true
[[actions]]
type = "post-fetch"
command = ["sh", "./alire-setup.sh"]
[[actions]]
type = "pre-build"
command = ["sh", "./alire-setup.sh"]
[origin]
commit = "9071ae7cb3a82085f7d59fc5a387c9e834a5dd69"
subdir = "./drivers/"
url = "git+https://gitlab.com/stcarrez/ada-ado.git"
+38
View File
@@ -0,0 +1,38 @@
description = "Ada Database Objects (Mysql)"
tags = ["database", "uml", "sql", "mysql", "mariadb"]
name = "ado_mysql"
version = "2.5.0"
licenses = "Apache-2.0"
authors = ["Stephane.Carrez@gmail.com"]
maintainers = ["Stephane.Carrez@gmail.com"]
maintainers-logins = ["stcarrez"]
project-files = ["ado_mysql.gpr"]
website = "https://gitlab.com/stcarrez/ada-ado"
long-description = """
[![Build Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-ado/badges/build.json)](https://porion.vacs.fr/porion/projects/view/ada-ado/summary)
[![Test Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-ado/badges/tests.json)](https://porion.vacs.fr/porion/projects/view/ada-ado/xunits)
[![Coverage](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-ado/badges/coverage.json)](https://porion.vacs.fr/porion/projects/view/ada-ado/summary)
[![Documentation Status](https://readthedocs.org/projects/ada-ado/badge/?version=latest)](https://ada-ado.readthedocs.io/en/latest/?badge=latest)
This is the MySQL driver for the Ada Database Objects library.
"""
[[depends-on]]
ado = "^2.5.0"
libmariadb = "*"
[configuration]
disabled = true
[[actions]]
type = "pre-build"
command = ["sh", "./alire-setup.sh"]
[origin]
commit = "9071ae7cb3a82085f7d59fc5a387c9e834a5dd69"
subdir = "./mysql/"
url = "git+https://gitlab.com/stcarrez/ada-ado.git"
@@ -0,0 +1,34 @@
description = "Ada Database Objects (PostgreSQL)"
tags = ["database", "uml", "sql", "postgresql"]
name = "ado_postgresql"
version = "2.5.0"
licenses = "Apache-2.0"
authors = ["Stephane.Carrez@gmail.com"]
maintainers = ["Stephane.Carrez@gmail.com"]
maintainers-logins = ["stcarrez"]
project-files = ["ado_postgresql.gpr"]
website = "https://gitlab.com/stcarrez/ada-ado"
long-description = """
[![Build Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-ado/badges/build.json)](https://porion.vacs.fr/porion/projects/view/ada-ado/summary)
[![Test Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-ado/badges/tests.json)](https://porion.vacs.fr/porion/projects/view/ada-ado/xunits)
[![Coverage](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-ado/badges/coverage.json)](https://porion.vacs.fr/porion/projects/view/ada-ado/summary)
[![Documentation Status](https://readthedocs.org/projects/ada-ado/badge/?version=latest)](https://ada-ado.readthedocs.io/en/latest/?badge=latest)
This is the PostgreSQL driver for the Ada Database Objects library.
"""
[[depends-on]]
ado = "^2.5.0"
libpq = "*"
[configuration]
disabled = true
[origin]
commit = "9071ae7cb3a82085f7d59fc5a387c9e834a5dd69"
subdir = "./postgresql/"
url = "git+https://gitlab.com/stcarrez/ada-ado.git"
+41
View File
@@ -0,0 +1,41 @@
description = "Ada Database Objects (SQLite)"
tags = ["database", "uml", "sql", "sqlite"]
name = "ado_sqlite"
version = "2.5.0"
licenses = "Apache-2.0"
authors = ["Stephane.Carrez@gmail.com"]
maintainers = ["Stephane.Carrez@gmail.com"]
maintainers-logins = ["stcarrez"]
project-files = ["ado_sqlite.gpr"]
website = "https://gitlab.com/stcarrez/ada-ado"
long-description = """
[![Build Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-ado/badges/build.json)](https://porion.vacs.fr/porion/projects/view/ada-ado/summary)
[![Test Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-ado/badges/tests.json)](https://porion.vacs.fr/porion/projects/view/ada-ado/xunits)
[![Coverage](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-ado/badges/coverage.json)](https://porion.vacs.fr/porion/projects/view/ada-ado/summary)
[![Documentation Status](https://readthedocs.org/projects/ada-ado/badge/?version=latest)](https://ada-ado.readthedocs.io/en/latest/?badge=latest)
This is the SQLite or SQLCipher driver for the Ada Database Objects library.
The choice between SQLite and SQLCipher is controlled by the `ADO_USE_SQLCIPHER` gpr external variable.
Use `-XADO_USE_SQLCIPHER=yes` if you want to use the SQLCipher support. The database encryption key
is configured by using a `pragma key`.
"""
[[depends-on]]
ado = "^2.5.0"
libsqlite3 = "any"
[gpr-externals]
ADO_USE_SQLCIPHER = ["yes", "no"]
[configuration]
disabled = true
[origin]
commit = "9071ae7cb3a82085f7d59fc5a387c9e834a5dd69"
subdir = "./sqlite/"
url = "git+https://gitlab.com/stcarrez/ada-ado.git"