mbox series

[0/8] ODB: C++ Object-Relational Mapping (ORM): New packages.

Message ID 20200519072850.898877-1-kamel.bouhara@bootlin.com
Headers show
Series ODB: C++ Object-Relational Mapping (ORM): New packages. | expand

Message

Kamel Bouhara May 19, 2020, 7:28 a.m. UTC
ODB is an open-source, cross-platform, and cross-database object-relational
mapping (ORM) system for C++. It allows you to persist C++ objects to a
relational database without having to deal with tables, columns, or SQL
and without manually writing any mapping code. ODB supports MySQL, SQLite,
PostgreSQL, Oracle, and Microsoft SQL Server relational databases as well
as C++98/03 and C++11 language standards.

It also comes with optional profiles for Boost and Qt which allow you
to seamlessly use value types, containers, and smart pointers from these
libraries in your persistent C++ classes.

There are three main components to use ODB (and a single dependency):

  - libcutl: This library is ODB's only dependency.

  - odb: This is a compiler that takes a specially crafted c++ header
    file and auto-generates a schema that works with libodb and the
    subsequent libodb-database library.

    It would be used as such: odb -d <database> --generate-query --generate-schema file.hxx

  - libodb: This package contains the common ODB runtime library. Every
    application that includes code generated by the ODB compiler
    will need to link to this library.

  - libodb-pgsql: This package contains the PostgreSQL ODB runtime
    library.

  - libodb-mysql: This package contains the MySQL ODB runtime library.

  - libodb-boost: This package contains the Boost ODB runtime library.

Every application that includes code generated for the PostgreSQL,
MySQL or Boost, will need to link to those libraries.

Adam Duskett (4):
  package/libcutl: new package
  package/odb: new package
  package/libodb: new package
  package/libodb-pgsql: new package

Kamel Bouhara (4):
  support/dependencies: check that host have gcc plugin headers
  Config.in: add BR2_NEEDS_HOST_GCC_PLUGIN_SUPPORT
  package/libodb-mysql: new package
  package/libodb-boost: new package

 Config.in                                     |   5 +
 DEVELOPERS                                    |   8 +
 package/Config.in                             |   4 +
 package/Config.in.host                        |   1 +
 package/libcutl/libcutl.hash                  |   6 +
 package/libcutl/libcutl.mk                    |  15 +
 package/libodb-boost/Config.in                |  16 +
 package/libodb-boost/libodb-boost.hash        |   7 +
 package/libodb-boost/libodb-boost.mk          |  16 +
 ...-syntax-issue-while-checking-ldflags.patch |  35 ++
 package/libodb-mysql/Config.in                |  16 +
 package/libodb-mysql/libodb-mysql.hash        |   4 +
 package/libodb-mysql/libodb-mysql.mk          |  16 +
 package/libodb-pgsql/Config.in                |  16 +
 package/libodb-pgsql/libodb-pgsql.hash        |   6 +
 package/libodb-pgsql/libodb-pgsql.mk          |  16 +
 package/libodb/Config.in                      |  13 +
 package/libodb/libodb.hash                    |   6 +
 package/libodb/libodb.mk                      |  15 +
 package/odb/0001-no-need-of-tm.h.patch        |  32 ++
 .../odb/0002-Remove-gratuitous-classes.patch  | 444 ++++++++++++++++++
 ...rk-to-make-ODB-compatible-with-GCC-6.patch | 311 ++++++++++++
 ...e-compilable-with-GCC-6-in-C-14-mode.patch |  47 ++
 ...-in-GCC-6-input_location-translation.patch |  33 ++
 .../odb/0006-Adapt-to-changes-in-GCC-8.patch  | 226 +++++++++
 ...itch-to-C-11-get-rid-of-auto_ptr-use.patch | 350 ++++++++++++++
 ...tion-to-be-compatible-with-previous-.patch |  32 ++
 ...espace-aliases-when-parsing-GCC-tree.patch |  29 ++
 .../0010-Add-initial-support-for-GCC-9.patch  | 232 +++++++++
 package/odb/Config.in.host                    |   7 +
 package/odb/odb.hash                          |   6 +
 package/odb/odb.mk                            |  20 +
 package/odb/series                            |  10 +
 support/dependencies/dependencies.sh          |  10 +
 34 files changed, 2010 insertions(+)
 create mode 100644 package/libcutl/libcutl.hash
 create mode 100644 package/libcutl/libcutl.mk
 create mode 100644 package/libodb-boost/Config.in
 create mode 100644 package/libodb-boost/libodb-boost.hash
 create mode 100644 package/libodb-boost/libodb-boost.mk
 create mode 100644 package/libodb-mysql/0001-fix-syntax-issue-while-checking-ldflags.patch
 create mode 100644 package/libodb-mysql/Config.in
 create mode 100644 package/libodb-mysql/libodb-mysql.hash
 create mode 100644 package/libodb-mysql/libodb-mysql.mk
 create mode 100644 package/libodb-pgsql/Config.in
 create mode 100644 package/libodb-pgsql/libodb-pgsql.hash
 create mode 100644 package/libodb-pgsql/libodb-pgsql.mk
 create mode 100644 package/libodb/Config.in
 create mode 100644 package/libodb/libodb.hash
 create mode 100644 package/libodb/libodb.mk
 create mode 100644 package/odb/0001-no-need-of-tm.h.patch
 create mode 100644 package/odb/0002-Remove-gratuitous-classes.patch
 create mode 100644 package/odb/0003-Initial-work-to-make-ODB-compatible-with-GCC-6.patch
 create mode 100644 package/odb/0004-Make-compilable-with-GCC-6-in-C-14-mode.patch
 create mode 100644 package/odb/0005-Fix-bug-in-GCC-6-input_location-translation.patch
 create mode 100644 package/odb/0006-Adapt-to-changes-in-GCC-8.patch
 create mode 100644 package/odb/0007-Switch-to-C-11-get-rid-of-auto_ptr-use.patch
 create mode 100644 package/odb/0008-Fix-GCC-8-adaptation-to-be-compatible-with-previous-.patch
 create mode 100644 package/odb/0009-Handle-namespace-aliases-when-parsing-GCC-tree.patch
 create mode 100644 package/odb/0010-Add-initial-support-for-GCC-9.patch
 create mode 100644 package/odb/Config.in.host
 create mode 100644 package/odb/odb.hash
 create mode 100644 package/odb/odb.mk
 create mode 100644 package/odb/series

--
2.25.0