git: 93d74f4c5306 - main - databases/libgda6: new port

From: Baptiste Daroussin <bapt_at_FreeBSD.org>
Date: Wed, 11 Jun 2025 16:09:49 UTC
The branch main has been updated by bapt:

URL: https://cgit.FreeBSD.org/ports/commit/?id=93d74f4c5306ff7e9ddb2684e382a7e3c15df088

commit 93d74f4c5306ff7e9ddb2684e382a7e3c15df088
Author:     Olivier Duchateau <duchateau.olivier@gmail.com>
AuthorDate: 2025-06-11 12:08:42 +0000
Commit:     Baptiste Daroussin <bapt@FreeBSD.org>
CommitDate: 2025-06-11 16:08:38 +0000

    databases/libgda6: new port
    
    Libgda is a (relatively small) database access library:
    * it is a wrapper like ODBC but with more features to access several
      database engines
    * features a meta data extractor (to know all about database objects
      in a common way)
    * comes with an SQL console application (like mysql, psql or sqlite3 consoles)
    * relies on GLib, coded in C, its API is easy to use
    
    PR:     286697
    Differential Revission:  https://reviews.freebsd.org/D40489
---
 Mk/Uses/gnome.mk                                   |   5 +-
 databases/Makefile                                 |   1 +
 databases/libgda6/Makefile                         |  41 +++++
 databases/libgda6/distinfo                         |   3 +
 .../libgda6/files/patch-libgda_gda-connection.c    |  30 ++++
 .../libgda6/files/patch-libgda_gda-db-catalog.c    |  36 +++++
 .../patch-tests_data-models_check__model__errors.c |  24 +++
 .../files/patch-tests_data-models_check__pmodel.c  |  24 +++
 databases/libgda6/pkg-descr                        |   7 +
 databases/libgda6/pkg-plist                        | 167 +++++++++++++++++++++
 10 files changed, 337 insertions(+), 1 deletion(-)

diff --git a/Mk/Uses/gnome.mk b/Mk/Uses/gnome.mk
index 7c4b7e5c0fe4..e8c498dbac09 100644
--- a/Mk/Uses/gnome.mk
+++ b/Mk/Uses/gnome.mk
@@ -76,7 +76,7 @@ _USE_GNOME_ALL+= atk cairo \
 _USE_GNOME_ALL+=dconf evolutiondataserver3 gnomecontrolcenter3 gnomedesktop3 \
 		gnomemenus3 gsound gtk30 gtkhtml4 gtksourceview3 \
 		gtksourceview4 libgda5 \
-		libgda5-ui libgnomekbd libwnck3 metacity \
+		libgda5-ui libgda6 libgnomekbd libwnck3 metacity \
 		pygobject3 vte3
 
 # GNOME 40 components
@@ -278,6 +278,9 @@ libgda5_USE_GNOME_IMPL=	glib20 libxslt
 libgda5-ui_LIB_DEPENDS=	libgda-ui-5.0.so:databases/libgda5-ui
 libgda5-ui_USE_GNOME_IMPL=glib20 libxslt libgda5
 
+libgda6_LIB_DEPENDS=	libgda-6.0.so:databases/libgda6
+libgda6_USE_GNOME_IMPL=	glib20 libxml2
+
 gtksourceview2_LIB_DEPENDS=	libgtksourceview-2.0.so:x11-toolkits/gtksourceview2
 gtksourceview2_USE_GNOME_IMPL=gtk20 libxml2
 
diff --git a/databases/Makefile b/databases/Makefile
index ece396ae7189..9be07ca08d14 100644
--- a/databases/Makefile
+++ b/databases/Makefile
@@ -132,6 +132,7 @@
     SUBDIR += libgda5-mysql
     SUBDIR += libgda5-postgresql
     SUBDIR += libgda5-ui
+    SUBDIR += libgda6
     SUBDIR += libgdamm5
     SUBDIR += libhsclient
     SUBDIR += libiodbc
diff --git a/databases/libgda6/Makefile b/databases/libgda6/Makefile
new file mode 100644
index 000000000000..81bd5911dcd6
--- /dev/null
+++ b/databases/libgda6/Makefile
@@ -0,0 +1,41 @@
+PORTNAME=	libgda
+DISTVERSION=	6.0.1.g${SNAPDATE}
+CATEGORIES=	databases gnome
+PKGNAMESUFFIX=	6
+DIST_SUBDIR=	gnome
+
+MAINTAINER=	gnome@FreeBSD.org
+COMMENT=	Database access library
+WWW=		https://gitlab.gnome.org/GNOME/libgda
+
+LICENSE=	LGPL20+
+
+BUILD_DEPENDS=	iso-codes>0:misc/iso-codes
+LIB_DEPENDS=	libjson-glib-1.0.so:devel/json-glib \
+		libgcrypt.so:security/libgcrypt \
+		libsecret-1.so:security/libsecret
+
+USES=		cpe gettext meson gnome pkgconfig python:build shebangfix \
+		sqlite ssl tar:bz2 vala:build
+CPE_VENDOR=	gnome
+USE_GNOME=	glib20 gtk30 intltool:build introspection:build libxml2 \
+		libxslt
+SHEBANG_FILES=	providers/raw_spec.py
+# Or use patch from https://gitlab.gnome.org/GNOME/libgda/-/merge_requests/208
+CFLAGS=		-Wno-deprecated-non-prototype
+
+MESON_ARGS=	-Dui=false \
+		-Dhelp=false \
+		-Dsqlcipher=false \
+		-Dlibsoup=false \
+		-Dlibsecret=true \
+		-Dpostgres=false \
+		-Dmysql=false
+
+USE_GITLAB=	yes
+GL_SITE=	https://gitlab.gnome.org
+GL_ACCOUNT=	GNOME
+GL_TAGNAME=	c149606b
+SNAPDATE=	20250302
+
+.include <bsd.port.mk>
diff --git a/databases/libgda6/distinfo b/databases/libgda6/distinfo
new file mode 100644
index 000000000000..67657f6bb7f7
--- /dev/null
+++ b/databases/libgda6/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1745768029
+SHA256 (gnome/libgda-c149606b.tar.bz2) = a6d29701c9894b015e5f300b72bb967097771632327100911d543e58fc31a9f1
+SIZE (gnome/libgda-c149606b.tar.bz2) = 12585955
diff --git a/databases/libgda6/files/patch-libgda_gda-connection.c b/databases/libgda6/files/patch-libgda_gda-connection.c
new file mode 100644
index 000000000000..87c2d770d13d
--- /dev/null
+++ b/databases/libgda6/files/patch-libgda_gda-connection.c
@@ -0,0 +1,30 @@
+../libgda/gda-connection.c:6931:7: error: variable 'refs' set but not used [-Werror,-Wunused-but-set-variable]
+ 6931 |         gint refs;
+      |              ^
+1 error generated.
+
+--- libgda/gda-connection.c.orig	2025-03-02 15:03:58 UTC
++++ libgda/gda-connection.c
+@@ -6928,14 +6928,12 @@ gda_connection_prepare_operation_create_table_v (GdaCo
+ 	gchar   *arg;
+ 	GType    type;
+ 	GdaServerOperationCreateTableFlag flag;
+-	gint refs;
+ 	GList *arguments = NULL;
+ 	GdaServerOperationCreateTableArg* argument;
+ 
+ 	va_start (args, error);
+ 	type = 0;
+ 	arg = NULL;
+-	refs = -1;
+ 
+ 	while ((arg = va_arg (args, gchar*))) {
+ 		argument = gda_server_operation_create_table_arg_new ();
+@@ -6956,7 +6954,6 @@ gda_connection_prepare_operation_create_table_v (GdaCo
+ 			gchar *fkey_ondelete;
+ 			gchar *fkey_onupdate;
+ 
+-			refs++;
+ 			GList *lfields = NULL;
+ 
+ 			fkey_table = va_arg (args, gchar*);
diff --git a/databases/libgda6/files/patch-libgda_gda-db-catalog.c b/databases/libgda6/files/patch-libgda_gda-db-catalog.c
new file mode 100644
index 000000000000..1b50a22006c0
--- /dev/null
+++ b/databases/libgda6/files/patch-libgda_gda-db-catalog.c
@@ -0,0 +1,36 @@
+../libgda/gda-db-catalog.c:832:8: error: variable 'ntables' set but not used [-Werror,-Wunused-but-set-variable]
+  832 |   gint ntables = 0;
+      |        ^
+../libgda/gda-db-catalog.c:833:8: error: variable 'nviews' set but not used [-Werror,-Wunused-but-set-variable]
+  833 |   gint nviews = 0;
+      |        ^
+2 errors generated.
+
+--- libgda/gda-db-catalog.c.orig	2025-03-02 15:03:58 UTC
++++ libgda/gda-db-catalog.c
+@@ -829,9 +829,6 @@ gda_db_catalog_parse_cnc (GdaDbCatalog *self,
+ 
+   GSList *it = NULL;
+ 
+-  gint ntables = 0;
+-  gint nviews = 0;
+-
+   for (it=dblist; it; it = it->next)
+     {
+       if(GDA_META_DB_OBJECT(it->data)->obj_type == GDA_META_DB_TABLE)
+@@ -841,7 +838,6 @@ gda_db_catalog_parse_cnc (GdaDbCatalog *self,
+             continue;
+ 
+           priv->mp_tables = g_list_append (priv->mp_tables,table);
+-	  ntables++;
+           continue;
+         }
+ 
+@@ -854,7 +850,6 @@ gda_db_catalog_parse_cnc (GdaDbCatalog *self,
+ 
+ 	  g_print ("%s:%d Found %s view\n", __FILE__, __LINE__, gda_db_base_get_full_name(GDA_DB_BASE (view)));
+           priv->mp_views = g_list_append (priv->mp_views, view);
+-	  nviews++;
+           continue;
+         }
+     }
diff --git a/databases/libgda6/files/patch-tests_data-models_check__model__errors.c b/databases/libgda6/files/patch-tests_data-models_check__model__errors.c
new file mode 100644
index 000000000000..605f338ee812
--- /dev/null
+++ b/databases/libgda6/files/patch-tests_data-models_check__model__errors.c
@@ -0,0 +1,24 @@
+../tests/data-models/check_model_errors.c:51:11: error: variable 'ntests' set but not used [-Werror,-Wunused-but-set-variable]
+   51 |         guint i, ntests = 0, number_failed = 0;
+      |                  ^
+1 error generated.
+
+--- tests/data-models/check_model_errors.c.orig	2025-03-02 15:03:58 UTC
++++ tests/data-models/check_model_errors.c
+@@ -48,7 +48,7 @@ main (G_GNUC_UNUSED int argc, G_GNUC_UNUSED char **arg
+ int
+ main (G_GNUC_UNUSED int argc, G_GNUC_UNUSED char **argv)
+ {
+-	guint i, ntests = 0, number_failed = 0;
++	guint i, number_failed = 0;
+ 
+ 	gda_init ();
+ 	
+@@ -58,7 +58,6 @@ main (G_GNUC_UNUSED int argc, G_GNUC_UNUSED char **arg
+ 		number_failed += n;
+ 		if (n > 0) 
+ 			g_print ("Test %d failed\n", i+1);
+-		ntests ++;
+ 	}
+ 
+ 	g_print ("TESTS COUNT: %d\n", i);
diff --git a/databases/libgda6/files/patch-tests_data-models_check__pmodel.c b/databases/libgda6/files/patch-tests_data-models_check__pmodel.c
new file mode 100644
index 000000000000..35bda1e18c61
--- /dev/null
+++ b/databases/libgda6/files/patch-tests_data-models_check__pmodel.c
@@ -0,0 +1,24 @@
+../tests/data-models/check_pmodel.c:108:11: error: variable 'ntests' set but not used [-Werror,-Wunused-but-set-variable]
+  108 |         guint i, ntests = 0, number_failed = 0;
+      |                  ^
+1 error generated.
+
+--- tests/data-models/check_pmodel.c.orig	2025-03-02 15:03:58 UTC
++++ tests/data-models/check_pmodel.c
+@@ -105,7 +105,7 @@ main (G_GNUC_UNUSED int argc, G_GNUC_UNUSED char **arg
+ int
+ main (G_GNUC_UNUSED int argc, G_GNUC_UNUSED char **argv)
+ {
+-	guint i, ntests = 0, number_failed = 0;
++	guint i, number_failed = 0;
+ 	GdaConnection *cnc;
+ 
+ 	gda_init ();
+@@ -119,7 +119,6 @@ main (G_GNUC_UNUSED int argc, G_GNUC_UNUSED char **arg
+ 		number_failed += n;
+ 		if (n > 0) 
+ 			g_print ("Test %d failed\n", i+1);
+-		ntests ++;
+ 	}
+ 
+ 	g_object_unref (cnc);
diff --git a/databases/libgda6/pkg-descr b/databases/libgda6/pkg-descr
new file mode 100644
index 000000000000..e63f904c32d0
--- /dev/null
+++ b/databases/libgda6/pkg-descr
@@ -0,0 +1,7 @@
+Libgda is a (relatively small) database access library:
+* it is a wrapper like ODBC but with more features to access several
+  database engines
+* features a meta data extractor (to know all about database objects
+  in a common way)
+* comes with an SQL console application (like mysql, psql or sqlite3 consoles)
+* relies on GLib, coded in C, its API is easy to use
diff --git a/databases/libgda6/pkg-plist b/databases/libgda6/pkg-plist
new file mode 100644
index 000000000000..d4cce4c29eff
--- /dev/null
+++ b/databases/libgda6/pkg-plist
@@ -0,0 +1,167 @@
+include/libgda-6.0/libgda/gda-attributes-manager.h
+include/libgda-6.0/libgda/gda-batch.h
+include/libgda-6.0/libgda/gda-blob-op.h
+include/libgda-6.0/libgda/gda-column.h
+include/libgda-6.0/libgda/gda-config.h
+include/libgda-6.0/libgda/gda-connection-event.h
+include/libgda-6.0/libgda/gda-connection-private.h
+include/libgda-6.0/libgda/gda-connection.h
+include/libgda-6.0/libgda/gda-data-access-wrapper.h
+include/libgda-6.0/libgda/gda-data-comparator.h
+include/libgda-6.0/libgda/gda-data-handler.h
+include/libgda-6.0/libgda/gda-data-model-array.h
+include/libgda-6.0/libgda/gda-data-model-dir.h
+include/libgda-6.0/libgda/gda-data-model-extra.h
+include/libgda-6.0/libgda/gda-data-model-import.h
+include/libgda-6.0/libgda/gda-data-model-iter-extra.h
+include/libgda-6.0/libgda/gda-data-model-iter.h
+include/libgda-6.0/libgda/gda-data-model-private.h
+include/libgda-6.0/libgda/gda-data-model-select.h
+include/libgda-6.0/libgda/gda-data-model.h
+include/libgda-6.0/libgda/gda-data-pivot.h
+include/libgda-6.0/libgda/gda-data-proxy.h
+include/libgda-6.0/libgda/gda-data-select-private.h
+include/libgda-6.0/libgda/gda-data-select.h
+include/libgda-6.0/libgda/gda-db-base.h
+include/libgda-6.0/libgda/gda-db-buildable.h
+include/libgda-6.0/libgda/gda-db-catalog.h
+include/libgda-6.0/libgda/gda-db-column-private.h
+include/libgda-6.0/libgda/gda-db-column.h
+include/libgda-6.0/libgda/gda-db-fkey-private.h
+include/libgda-6.0/libgda/gda-db-fkey.h
+include/libgda-6.0/libgda/gda-db-index-field.h
+include/libgda-6.0/libgda/gda-db-index.h
+include/libgda-6.0/libgda/gda-db-table.h
+include/libgda-6.0/libgda/gda-db-view.h
+include/libgda-6.0/libgda/gda-ddl-modifiable.h
+include/libgda-6.0/libgda/gda-decl.h
+include/libgda-6.0/libgda/gda-enums.h
+include/libgda-6.0/libgda/gda-holder.h
+include/libgda-6.0/libgda/gda-lockable.h
+include/libgda-6.0/libgda/gda-log.h
+include/libgda-6.0/libgda/gda-meta-store.h
+include/libgda-6.0/libgda/gda-meta-struct.h
+include/libgda-6.0/libgda/gda-provider-meta.h
+include/libgda-6.0/libgda/gda-provider.h
+include/libgda-6.0/libgda/gda-quark-list.h
+include/libgda-6.0/libgda/gda-repetitive-statement.h
+include/libgda-6.0/libgda/gda-row.h
+include/libgda-6.0/libgda/gda-server-operation.h
+include/libgda-6.0/libgda/gda-server-provider-extra.h
+include/libgda-6.0/libgda/gda-server-provider-impl.h
+include/libgda-6.0/libgda/gda-server-provider-private.h
+include/libgda-6.0/libgda/gda-server-provider.h
+include/libgda-6.0/libgda/gda-set.h
+include/libgda-6.0/libgda/gda-sql-builder.h
+include/libgda-6.0/libgda/gda-statement-extra.h
+include/libgda-6.0/libgda/gda-statement.h
+include/libgda-6.0/libgda/gda-transaction-status-private.h
+include/libgda-6.0/libgda/gda-transaction-status.h
+include/libgda-6.0/libgda/gda-tree-manager.h
+include/libgda-6.0/libgda/gda-tree-mgr-columns.h
+include/libgda-6.0/libgda/gda-tree-mgr-label.h
+include/libgda-6.0/libgda/gda-tree-mgr-schemas.h
+include/libgda-6.0/libgda/gda-tree-mgr-select.h
+include/libgda-6.0/libgda/gda-tree-mgr-tables.h
+include/libgda-6.0/libgda/gda-tree-node.h
+include/libgda-6.0/libgda/gda-tree.h
+include/libgda-6.0/libgda/gda-util.h
+include/libgda-6.0/libgda/gda-value.h
+include/libgda-6.0/libgda/gda-xa-transaction.h
+include/libgda-6.0/libgda/handlers/gda-handler-bin.h
+include/libgda-6.0/libgda/handlers/gda-handler-boolean.h
+include/libgda-6.0/libgda/handlers/gda-handler-numerical.h
+include/libgda-6.0/libgda/handlers/gda-handler-string.h
+include/libgda-6.0/libgda/handlers/gda-handler-text.h
+include/libgda-6.0/libgda/handlers/gda-handler-time.h
+include/libgda-6.0/libgda/handlers/gda-handler-type.h
+include/libgda-6.0/libgda/libgda.h
+include/libgda-6.0/libgda/providers-support/gda-data-select-priv.h
+include/libgda-6.0/libgda/providers-support/gda-meta-column-types.h
+include/libgda-6.0/libgda/providers-support/gda-pstmt.h
+include/libgda-6.0/libgda/sql-parser/gda-sql-parser.h
+include/libgda-6.0/libgda/sql-parser/gda-sql-statement.h
+include/libgda-6.0/libgda/sql-parser/gda-statement-struct-compound.h
+include/libgda-6.0/libgda/sql-parser/gda-statement-struct-decl.h
+include/libgda-6.0/libgda/sql-parser/gda-statement-struct-delete.h
+include/libgda-6.0/libgda/sql-parser/gda-statement-struct-insert.h
+include/libgda-6.0/libgda/sql-parser/gda-statement-struct-parts.h
+include/libgda-6.0/libgda/sql-parser/gda-statement-struct-pspec.h
+include/libgda-6.0/libgda/sql-parser/gda-statement-struct-select.h
+include/libgda-6.0/libgda/sql-parser/gda-statement-struct-trans.h
+include/libgda-6.0/libgda/sql-parser/gda-statement-struct-unknown.h
+include/libgda-6.0/libgda/sql-parser/gda-statement-struct-update.h
+include/libgda-6.0/libgda/sql-parser/gda-statement-struct-util.h
+include/libgda-6.0/libgda/sql-parser/gda-statement-struct.h
+include/libgda-6.0/libgda/thread-wrapper/gda-connect.h
+include/libgda-6.0/libgda/thread-wrapper/gda-worker.h
+lib/girepository-1.0/Gda-6.0.typelib
+lib/libgda-6.0.so
+lib/libgda-6.0.so.6
+lib/libgda-6.0.so.6.0.0
+lib/libgda-6.0/providers/libgda-sqlite-6.0.so
+libdata/pkgconfig/libgda-6.0.pc
+libdata/pkgconfig/libgda-sqlite-6.0.pc
+share/gir-1.0/Gda-6.0.gir
+%%DATADIR%%-6.0/dtd/libgda-array.dtd
+%%DATADIR%%-6.0/dtd/libgda-db-catalog.dtd
+%%DATADIR%%-6.0/dtd/libgda-paramlist.dtd
+%%DATADIR%%-6.0/dtd/libgda-server-operation.dtd
+%%DATADIR%%-6.0/information_schema.xml
+share/locale/ar/LC_MESSAGES/libgda-6.0.mo
+share/locale/az/LC_MESSAGES/libgda-6.0.mo
+share/locale/bs/LC_MESSAGES/libgda-6.0.mo
+share/locale/ca/LC_MESSAGES/libgda-6.0.mo
+share/locale/ca@valencia/LC_MESSAGES/libgda-6.0.mo
+share/locale/cs/LC_MESSAGES/libgda-6.0.mo
+share/locale/da/LC_MESSAGES/libgda-6.0.mo
+share/locale/de/LC_MESSAGES/libgda-6.0.mo
+share/locale/dz/LC_MESSAGES/libgda-6.0.mo
+share/locale/el/LC_MESSAGES/libgda-6.0.mo
+share/locale/en_CA/LC_MESSAGES/libgda-6.0.mo
+share/locale/en_GB/LC_MESSAGES/libgda-6.0.mo
+share/locale/eo/LC_MESSAGES/libgda-6.0.mo
+share/locale/es/LC_MESSAGES/libgda-6.0.mo
+share/locale/eu/LC_MESSAGES/libgda-6.0.mo
+share/locale/fa/LC_MESSAGES/libgda-6.0.mo
+share/locale/fi/LC_MESSAGES/libgda-6.0.mo
+share/locale/fr/LC_MESSAGES/libgda-6.0.mo
+share/locale/ga/LC_MESSAGES/libgda-6.0.mo
+share/locale/gl/LC_MESSAGES/libgda-6.0.mo
+share/locale/hr/LC_MESSAGES/libgda-6.0.mo
+share/locale/hu/LC_MESSAGES/libgda-6.0.mo
+share/locale/id/LC_MESSAGES/libgda-6.0.mo
+share/locale/it/LC_MESSAGES/libgda-6.0.mo
+share/locale/ja/LC_MESSAGES/libgda-6.0.mo
+share/locale/ka/LC_MESSAGES/libgda-6.0.mo
+share/locale/ko/LC_MESSAGES/libgda-6.0.mo
+share/locale/lt/LC_MESSAGES/libgda-6.0.mo
+share/locale/lv/LC_MESSAGES/libgda-6.0.mo
+share/locale/mk/LC_MESSAGES/libgda-6.0.mo
+share/locale/ml/LC_MESSAGES/libgda-6.0.mo
+share/locale/ms/LC_MESSAGES/libgda-6.0.mo
+share/locale/nb/LC_MESSAGES/libgda-6.0.mo
+share/locale/ne/LC_MESSAGES/libgda-6.0.mo
+share/locale/nl/LC_MESSAGES/libgda-6.0.mo
+share/locale/oc/LC_MESSAGES/libgda-6.0.mo
+share/locale/pa/LC_MESSAGES/libgda-6.0.mo
+share/locale/pt/LC_MESSAGES/libgda-6.0.mo
+share/locale/pt_BR/LC_MESSAGES/libgda-6.0.mo
+share/locale/ro/LC_MESSAGES/libgda-6.0.mo
+share/locale/ru/LC_MESSAGES/libgda-6.0.mo
+share/locale/rw/LC_MESSAGES/libgda-6.0.mo
+share/locale/sk/LC_MESSAGES/libgda-6.0.mo
+share/locale/sl/LC_MESSAGES/libgda-6.0.mo
+share/locale/sq/LC_MESSAGES/libgda-6.0.mo
+share/locale/sr/LC_MESSAGES/libgda-6.0.mo
+share/locale/sr@latin/LC_MESSAGES/libgda-6.0.mo
+share/locale/sv/LC_MESSAGES/libgda-6.0.mo
+share/locale/tg/LC_MESSAGES/libgda-6.0.mo
+share/locale/tr/LC_MESSAGES/libgda-6.0.mo
+share/locale/uk/LC_MESSAGES/libgda-6.0.mo
+share/locale/vi/LC_MESSAGES/libgda-6.0.mo
+share/locale/zh_CN/LC_MESSAGES/libgda-6.0.mo
+share/locale/zh_HK/LC_MESSAGES/libgda-6.0.mo
+share/locale/zh_TW/LC_MESSAGES/libgda-6.0.mo
+share/vala/vapi/libgda-6.0.deps
+share/vala/vapi/libgda-6.0.vapi