summaryrefslogtreecommitdiff
path: root/gnome-extra
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-06-20 00:10:57 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-06-20 00:10:57 +0100
commitd6ca4e4f90cb75c323b5988eefa96a04c0d36908 (patch)
tree8197fc88451976470c871e991b75a9d40c240270 /gnome-extra
parente8df704cf9b5e9e517317b8912377c0a8ca0d11e (diff)
gentoo auto-resync : 20:06:2024 - 00:10:56
Diffstat (limited to 'gnome-extra')
-rw-r--r--gnome-extra/Manifest.gzbin11255 -> 11256 bytes
-rw-r--r--gnome-extra/cinnamon/Manifest2
-rw-r--r--gnome-extra/cinnamon/cinnamon-6.0.4.ebuild2
-rw-r--r--gnome-extra/libgda/Manifest2
-rw-r--r--gnome-extra/libgda/files/libgda-5.2.9-fix-gcc14.patch214
-rw-r--r--gnome-extra/libgda/libgda-5.2.9-r2.ebuild181
6 files changed, 399 insertions, 2 deletions
diff --git a/gnome-extra/Manifest.gz b/gnome-extra/Manifest.gz
index a48e74b1e43e..306e56c14821 100644
--- a/gnome-extra/Manifest.gz
+++ b/gnome-extra/Manifest.gz
Binary files differ
diff --git a/gnome-extra/cinnamon/Manifest b/gnome-extra/cinnamon/Manifest
index 02dcd7d018f3..acf127c0ae3a 100644
--- a/gnome-extra/cinnamon/Manifest
+++ b/gnome-extra/cinnamon/Manifest
@@ -5,5 +5,5 @@ AUX polkit-cinnamon-authentication-agent-1.desktop 252 BLAKE2B 8a7c10fa19e19c479
DIST cinnamon-5.8.4.tar.gz 2517117 BLAKE2B 4c3f452480b9e3ce7713221f1b76c475204b8dc1bb34d42a8faf492b0ca86416bb2fbd3849a7f048fef672ecf4613f06c645ec548159b6c3662b7602142e75e6 SHA512 2eaa253cdd01f00cca05ed123db59fde27f84cc24d7b8a3ec751a5f8252642870cbece941d1101f31fe0db43c15d9779bbdcacbf7037757569a4d17205cb10ad
DIST cinnamon-6.0.4.tar.gz 2538844 BLAKE2B de67c2e465d04dd4ed269172b4b58cfe0391446466e32e15410b5a847248566c075823d0a2fb87d7a693033b3e4e1fc21a18c7b9f45dca89ce8968a0be71eaba SHA512 357dd44f40b195a4a3ca3e88c5c9e55f1c06d36b4cec812a001c54ffb784b0d67bb9f41c1ae74fec590184b3480c9cd21ae54f7ee01e31f80eab0297b0d18a9c
EBUILD cinnamon-5.8.4.ebuild 5427 BLAKE2B a4ba890d9f120f4afd0e6b8462566c8031829bff8582a723f2db31004c30a2c25213155e9b84edf6a6539f683ef87186fbca98a11bad7be83598751287b743fe SHA512 ebbd44078954d159000edf275794a5b657f92dbf6e7120b754d6ce0f843735660830eb2d9af78ad5959d1c6c4b8e5b125dbac889e9180d8e60fba535fe273b51
-EBUILD cinnamon-6.0.4.ebuild 5946 BLAKE2B 0fcbf690654ce90d69cb21689a42ead2a7248447973221b76950f86ea0155c426ff31de542b888cb2a92e3e09fa1d22a46e80e75471017f396a5556e973bb267 SHA512 c1758bf0b9a70651d87f139d343fefb69bc50f7da800784b508522970de45e95b23e6a8e06ceb0382b60eef89ab449de8ad657c1ab52b77d8c2bbf2055d83e77
+EBUILD cinnamon-6.0.4.ebuild 5945 BLAKE2B 17ae5056db7e7e1851f9f479907b1bf7afa274ec5bed469c47c05981d4cc7683587b29cd1f0b5b7005687ae0284ead7db55376135e4ebaaa457b75f1f459e07a SHA512 6030813b585ae55b23922d91be537e92c73c2ae7b0e0b2a074b09f07567344825a80b478a167c8b61c6f18eb6b6abfa739d1d6163e44e3af31e97123d757dbf5
MISC metadata.xml 622 BLAKE2B 10b394cc9a24ba5609b2184c8d31439ae3e172055dba8d283c7bdf834ac715053c3533db0bce7f27d55b69a4891622b9cc21dcacdc0b797146e4144fc87d6b2e SHA512 f079066f4181bc467259651de9c83cedc0bbc4f0e817dac5ce081248001c23d4374ea393482400ffefae7edbb03fd61da87f114d6f4f65145200e156d0e9cc46
diff --git a/gnome-extra/cinnamon/cinnamon-6.0.4.ebuild b/gnome-extra/cinnamon/cinnamon-6.0.4.ebuild
index d5b2f85cc1ff..7b9098651020 100644
--- a/gnome-extra/cinnamon/cinnamon-6.0.4.ebuild
+++ b/gnome-extra/cinnamon/cinnamon-6.0.4.ebuild
@@ -16,7 +16,7 @@ LICENSE="BSD GPL-2+ GPL-3+ GPL-3-with-openssl-exception LGPL-2+ LGPL-2.1 LGPL-2.
SLOT="0"
IUSE="+desktop-portal +eds +gstreamer gtk-doc +nls +networkmanager wayland"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-KEYWORDS="amd64 ~arm64 ~loong ~riscv ~x86"
+KEYWORDS="amd64 ~arm64 ~loong ~riscv x86"
DEPEND="
${PYTHON_DEPS}
diff --git a/gnome-extra/libgda/Manifest b/gnome-extra/libgda/Manifest
index 020986cbbc31..2c83088ae096 100644
--- a/gnome-extra/libgda/Manifest
+++ b/gnome-extra/libgda/Manifest
@@ -1,8 +1,10 @@
AUX libgda-4.99.1-control-center-icon-collision.patch 2266 BLAKE2B 4005c1a3d7b71f9a264321941be67bad1c339cf90fe47d749eeb88ebe0a2ef1abf20e3b6d856a0289b359a66b7f9f140d1bbf61eb83d279407270e1ff70c2b46 SHA512 ebe5db64f552b5623598d9545d09af138a80578eec99e83962a958b5bc44c1c7ae1746f71302f5f56fee0112a2bd64a0372d32bbda7ace0d9c7a648dcefd51e5
AUX libgda-4.99.1-gda-browser-doc-collision.patch 914 BLAKE2B a8dc2b9359aaf3f74939dda29cd4157c20a50b724a7648c517d4fccd1a0d696f1eb5cebc6199a775e96d2687542e5a815bb63f01684d9c68497279b7f45adc08 SHA512 578a08e1b7adb59706f28f811efe2f7b68d2b406f49bd605253a14f3b415df945a3948dd2994013429b0e31768fb7a7f382321568babe0bca0bb34ba5aa16353
AUX libgda-5.2-my_bool-error.patch 5804 BLAKE2B 85068c8d3164bb9fd6d5c26bd144cc389f3e7df28c56163dd3294fed2a1e709674031e0bb903aa8f111010d6682c7aef26692b1e16821f2a9002106eb8a250db SHA512 33a734e4f21364d4657db1347022129eef48b9b7cebd3743445963c74fb2d1b1043927c52a2e165db966df595a1b69dfcc8d9f3b2cddf328291bc7976273ecef
+AUX libgda-5.2.9-fix-gcc14.patch 9745 BLAKE2B 9c88cf1f99956da5d4c8141f7eaa93e5d84ce019764ec340c46441f7d001bddb88d5d8668f9e1200b7b1aee02af5ea9311f60adc038ba13120bc1fb02204c269 SHA512 f7312501a667f0646489ce2bf357bacebe92b15bb3e88568069dbc555fae1911037b4cc177f28557066f8c1dfafcf3bc82f7d7e87bcfced9980e1d4585aee553
AUX libgda-5.2.9-no-introspection.patch 1804 BLAKE2B 6945b77b906a78ff7b4b551a47e5c61886cb3239837813cced2508d6e22848b26b8f3366290b8974edcaafae95c7c7be63f1b2bfefed846ca393c4728abe7752 SHA512 b6536539ca827d33caaa1a40af3e6f37140181c6a5f54e0f143499108ed4c89c45184f032d7808019dec6c769670f9a47aa8479541c537163b1163ea769955a4
AUX libgda-5.2.9-redefine-bool-error.patch 1223 BLAKE2B eafc8884016c98d673d4da347452a82e558a11d20143d19ce1a40926a8348af507a839010c342dad37f345efb6c7770d6ad2429ca26a310af67dd65e0166af25 SHA512 7ec9d88f7b0de2980c8e2f8a17f00eff26b279c46f938bff8dc3ba5c8e3c106bc778e65bdb078a30b9615bcf2497d4974bef4205cb51347fb50ceb6ac6ceb43c
DIST libgda-5.2.9.tar.xz 12619160 BLAKE2B b82c304f6054a1de24b72e688fc03a7a9b416f14f47c95087c4901b7bce0ea5c642667feb14f1701bc62403359c752f3f5b121a697316340829af64b83fb7980 SHA512 a28324533298d42aacfce5d9f3d699314ddb5d5fe7e492433dbbe4232fb310b798d312ac08dffd4f4ebef5ceea3c6c49ef3c679ab97b5e9d1f64e3fed50b2231
EBUILD libgda-5.2.9-r1.ebuild 4945 BLAKE2B d1f314d32acd89934d35b27391f1b7be4e984f9b2cf5bef0ccbc0ed51edb5d384bb5d4126faeb0d6efab986e966d14548e5eff36b10ba3225fb1a87f537b628f SHA512 958f185a5cf41f438d6209374243ab10af2df8d3a862fcb278834904006408d6e4b1776ad4cc6db64dc71c791259f039af1e43a4a9f943505e36751b2b6e34c9
+EBUILD libgda-5.2.9-r2.ebuild 5129 BLAKE2B d984b3bd528fddda9eabbaf1dedaa255ea19d011e491ab85233ac5321d2ea93180a4f2aa73569cc663de906b4b96737fb8f68a04b5571805a9bf2bbacf90fe41 SHA512 e8c9ced6c0b48917dd9e39ec78356a7c6ccc966473395903500d4208201b5257aaa7ef6fd712cf3181fe8782ff7f9c1c14f9637e4db85236df0dbac45101a670
MISC metadata.xml 788 BLAKE2B c8e2119ecbdc25e749750336f61709ff4aaf3e6d644a249e3e10860f21e8b6ffe70fbd07bcda3a4626baf94e6ff268f0e6cf1d838d0876fbfd30b2beb1ee33b6 SHA512 655de1859ef6c2f640e294cf43d22bc59a2c519bd9a3c22f8ac16d39b7305ddae772b21838fc971576465e0b6ad31ddea9d476919aa0b08a39f7efcad48d84d8
diff --git a/gnome-extra/libgda/files/libgda-5.2.9-fix-gcc14.patch b/gnome-extra/libgda/files/libgda-5.2.9-fix-gcc14.patch
new file mode 100644
index 000000000000..6b8ecc7dab45
--- /dev/null
+++ b/gnome-extra/libgda/files/libgda-5.2.9-fix-gcc14.patch
@@ -0,0 +1,214 @@
+https://bugs.gentoo.org/932738
+https://bugs.gentoo.org/882197
+
+From 7d9229b60215ebc48d696ce686319ffc7ca146a0 Mon Sep 17 00:00:00 2001
+From: Pavlo Solntsev <p.sun.fun@gmail.com>
+Date: Tue, 12 Nov 2019 22:59:11 -0600
+Subject: [PATCH 1/1] libgda-xslt: Fixing API change
+
+CI environment uses libxslt-1.33 but code uses API for version 1.32. It
+was an API break between 1.32 and 1.33. This commit fixes this
+transition.
+--- a/libgda-xslt/sql_backend.c
++++ b/libgda-xslt/sql_backend.c
+@@ -155,8 +155,8 @@ _gda_xslt_bk_section (GdaXsltExCont * exec, GdaXsltIntCont * pdata,
+ cur_node = cur_node->next) {
+ if (IS_XSLT_ELEM (cur_node)) {
+ if (IS_XSLT_NAME (cur_node, "call-template")) {
+- xsltStylePreCompPtr info =
+- (xsltStylePreCompPtr)
++ xsltElemPreCompPtr info =
++ (xsltElemPreCompPtr)
+ cur_node->psvi;
+ if (info != NULL) {
+ xsltCallTemplate
+--
+2.45.1
+
+
+--- a/libgda-ui/data-entries/gdaui-entry-bin.c
++++ b/libgda-ui/data-entries/gdaui-entry-bin.c
+@@ -239,11 +239,11 @@ create_entry (GdauiEntryWrapper *mgwrap)
+
+ label = gtk_label_new ("");
+ gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
+- dbin->priv->button_label = g_object_ref (G_OBJECT (label));
++ dbin->priv->button_label = (GtkWidget *) g_object_ref (G_OBJECT (label));
+
+ img = gtk_image_new_from_pixbuf (attach_pixbuf);
+ gtk_box_pack_start (GTK_BOX (hbox), img, FALSE, FALSE, 0);
+- dbin->priv->button_image = g_object_ref (G_OBJECT (img));
++ dbin->priv->button_image = (GtkWidget *) g_object_ref (G_OBJECT (img));
+
+ arrow = gtk_arrow_new (GTK_ARROW_DOWN, GTK_SHADOW_NONE);
+ gtk_misc_set_alignment (GTK_MISC (arrow), 1.0, -1);
+--- a/libgda-ui/data-entries/plugins/libmain.c
++++ b/libgda-ui/data-entries/plugins/libmain.c
+@@ -44,6 +44,7 @@
+ #endif
+
+ #include <gtksourceview/gtksourceview.h>
++ #include <gtksourceview/gtksourcelanguage.h>
+ #include <gtksourceview/gtksourcelanguagemanager.h>
+ #include <gtksourceview/gtksourcebuffer.h>
+ #include <gtksourceview/gtksourcestyleschememanager.h>
+--- a/libgda-ui/gdaui-raw-form.c
++++ b/libgda-ui/gdaui-raw-form.c
+@@ -383,7 +383,7 @@ gdaui_raw_form_set_property (GObject *object,
+ if (!form->priv->proxy) {
+ /* first time setting */
+ if (GDA_IS_DATA_PROXY (model))
+- form->priv->proxy = g_object_ref (G_OBJECT (model));
++ form->priv->proxy = (GdaDataProxy *) g_object_ref (G_OBJECT (model));
+ else
+ form->priv->proxy = GDA_DATA_PROXY (gda_data_proxy_new (model));
+ form->priv->data_model = gda_data_proxy_get_proxied_model (form->priv->proxy);
+--- a/libgda-ui/gdaui-raw-grid.c
++++ b/libgda-ui/gdaui-raw-grid.c
+@@ -517,7 +517,7 @@ gdaui_raw_grid_set_property (GObject *object,
+ if (!grid->priv->proxy) {
+ /* first time setting */
+ if (GDA_IS_DATA_PROXY (model))
+- grid->priv->proxy = g_object_ref (G_OBJECT (model));
++ grid->priv->proxy = (GdaDataProxy *) g_object_ref (G_OBJECT (model));
+ else
+ grid->priv->proxy = GDA_DATA_PROXY (gda_data_proxy_new (model));
+
+@@ -787,7 +787,7 @@ create_columns_data (GdauiRawGrid *grid)
+ /* FIXME: if nullok is FALSE, then set the column title in bold */
+ cdata->tooltip_text = g_strdup (_("Can't be NULL"));
+ renderer = gdaui_data_cell_renderer_combo_new (grid->priv->iter_info, gdaui_set_group_get_source (group));
+- cdata->data_cell = g_object_ref_sink ((GObject*) renderer);
++ cdata->data_cell = (GtkCellRenderer *) g_object_ref_sink ((GObject*) renderer);
+ g_hash_table_insert (grid->priv->columns_hash, renderer, cdata);
+ g_free (cdata->title);
+ cdata->title = title;
+@@ -827,7 +827,7 @@ create_columns_data (GdauiRawGrid *grid)
+ GDAUI_ATTRIBUTE_PLUGIN);
+ }
+ renderer = _gdaui_new_cell_renderer (g_type, plugin);
+- cdata->data_cell = g_object_ref_sink ((GObject*) renderer);
++ cdata->data_cell = (GtkCellRenderer *) g_object_ref_sink ((GObject*) renderer);
+ g_hash_table_insert (grid->priv->columns_hash, renderer, cdata);
+ g_free (cdata->title);
+ cdata->title = title;
+@@ -849,7 +849,7 @@ create_columns_data (GdauiRawGrid *grid)
+
+ /* Adding the GValue's information cell as another GtkCellRenderer */
+ renderer = gdaui_data_cell_renderer_info_new (grid->priv->store, grid->priv->iter, group);
+- cdata->info_cell = g_object_ref_sink ((GObject*) renderer);
++ cdata->info_cell = (GtkCellRenderer *) g_object_ref_sink ((GObject*) renderer);
+ g_hash_table_insert (grid->priv->columns_hash, renderer, cdata);
+ g_signal_connect (G_OBJECT (renderer), "status-changed",
+ G_CALLBACK (data_cell_status_changed), grid);
+@@ -2915,7 +2915,7 @@ paramlist_param_attr_changed_cb (G_GNUC_UNUSED GdaSet *paramlist, GdaHolder *par
+ GtkCellRenderer *renderer;
+ gint model_col;
+ renderer = _gdaui_new_cell_renderer (gda_holder_get_g_type (param), plugin);
+- cdata->data_cell = g_object_ref_sink ((GObject*) renderer);
++ cdata->data_cell = (GtkCellRenderer *) g_object_ref_sink ((GObject*) renderer);
+ g_hash_table_insert (grid->priv->columns_hash, renderer, cdata);
+
+ model_col = g_slist_index (((GdaSet *)grid->priv->iter)->holders, param);
+--- a/libgda/gda-connection.c
++++ b/libgda/gda-connection.c
+@@ -6458,7 +6458,7 @@ gda_connection_add_prepared_statement (GdaConnection *cnc, GdaStatement *gda_stm
+
+ if (!cnc->priv->prepared_stmts)
+ cnc->priv->prepared_stmts = g_hash_table_new_full (g_direct_hash, g_direct_equal,
+- NULL, _gda_prepared_estatement_free);
++ NULL, (GDestroyNotify) _gda_prepared_estatement_free);
+ g_hash_table_remove (cnc->priv->prepared_stmts, gda_stmt);
+ PreparedStatementRef *ref = _gda_prepared_estatement_new (gda_stmt, prepared_stmt);
+ g_hash_table_insert (cnc->priv->prepared_stmts, gda_stmt, ref);
+--- a/libgda/sqlite/virtual/gda-vconnection-data-model.c
++++ b/libgda/sqlite/virtual/gda-vconnection-data-model.c
+@@ -632,7 +632,7 @@ _gda_vconnection_set_working_obj (GdaVconnectionDataModel *cnc, GObject *obj)
+ VContext *vc = NULL;
+
+ g_assert (!td->context.current_vcontext);
+- td->context.mutex = &(cnc->priv->lock_context);
++ td->context.mutex = (GMutex *) &(cnc->priv->lock_context);
+ if (! td->context.hash)
+ td->context.hash = g_hash_table_new_full (g_direct_hash, g_direct_equal,
+ NULL, (GDestroyNotify) vcontext_free);
+--- a/tools/browser/browser-virtual-connection.c
++++ b/tools/browser/browser-virtual-connection.c
+@@ -489,7 +489,7 @@ browser_virtual_connection_part_copy (const BrowserVirtualConnectionPart *part)
+ if (spm->table_name)
+ npm->table_name = g_strdup (spm->table_name);
+ if (spm->model)
+- npm->model = g_object_ref (G_OBJECT (spm->model));
++ npm->model = (GdaDataModel *) g_object_ref (G_OBJECT (spm->model));
+ break;
+ }
+ case BROWSER_VIRTUAL_CONNECTION_PART_CNC: {
+@@ -500,7 +500,7 @@ browser_virtual_connection_part_copy (const BrowserVirtualConnectionPart *part)
+ if (scnc->table_schema)
+ ncnc->table_schema = g_strdup (scnc->table_schema);
+ if (scnc->source_cnc)
+- ncnc->source_cnc = g_object_ref (G_OBJECT (scnc->source_cnc));
++ ncnc->source_cnc = (BrowserConnection *) g_object_ref (G_OBJECT (scnc->source_cnc));
+ break;
+ }
+ default:
+--- a/tools/browser/canvas/browser-canvas.c
++++ b/tools/browser/canvas/browser-canvas.c
+@@ -853,7 +853,7 @@ browser_canvas_perform_auto_layout (BrowserCanvas *canvas, gboolean animate, Bro
+
+ #ifdef GRAPHVIZ_NEW_API
+ graph = agopen ("BrowserCanvasLayout", Agdirected, NULL);
+- agnode (graph, "shape", "box");
++ agnode (graph, "shape", 1);
+ agset (graph, "height", ".1");
+ agset (graph, "width", ".1");
+ agset (graph, "fixedsize", "true");
+--- a/tools/browser/common/fk-declare.c
++++ b/tools/browser/common/fk-declare.c
+@@ -403,7 +403,7 @@ fk_declare_new (GtkWindow *parent, GdaMetaStruct *mstruct, GdaMetaTable *table)
+ g_free (str);
+
+ decl = FK_DECLARE (wid);
+- decl->priv->mstruct = g_object_ref ((GObject*) mstruct);
++ decl->priv->mstruct = (GdaMetaStruct *) g_object_ref ((GObject*) mstruct);
+ decl->priv->mtable = table;
+
+ create_internal_layout (decl);
+--- a/tools/browser/common/ui-formgrid.c
++++ b/tools/browser/common/ui-formgrid.c
+@@ -754,11 +754,11 @@ statement_executed_cb (G_GNUC_UNUSED BrowserConnection *bcnc,
+ ui_formgrid_handle_user_prefs (UI_FORMGRID (fg), NULL, stmt);
+ g_object_unref (stmt);
+ }
+- aed->model = g_object_ref (out_result);
++ aed->model = (GdaDataModel *) g_object_ref (out_result);
+ g_signal_connect (aed->params, "holder-changed",
+ G_CALLBACK (action_executed_holder_changed_cb), aed);
+
+- aed->formgrid = g_object_ref (fg);
++ aed->formgrid = (UiFormGrid *) g_object_ref (fg);
+ aed->formgrid->priv->autoupdate_possible = TRUE;
+ gtk_widget_show (aed->formgrid->priv->autoupdate_toggle);
+ }
+--- a/tools/browser/connection-binding-properties.c
++++ b/tools/browser/connection-binding-properties.c
+@@ -147,7 +147,7 @@ connection_binding_properties_new_create (BrowserConnection *bcnc)
+ part = g_new0 (BrowserVirtualConnectionPart, 1);
+ part->part_type = BROWSER_VIRTUAL_CONNECTION_PART_CNC;
+ part->u.cnc.table_schema = g_strdup (browser_connection_get_name (bcnc));
+- part->u.cnc.source_cnc = g_object_ref (G_OBJECT (bcnc));
++ part->u.cnc.source_cnc = (BrowserConnection *) g_object_ref (G_OBJECT (bcnc));
+ specs->parts = g_slist_append (NULL, part);
+
+ cprop = CONNECTION_BINDING_PROPERTIES (g_object_new (CONNECTION_TYPE_BINDING_PROPERTIES, NULL));
+--- a/tools/browser/schema-browser/table-info.c
++++ b/tools/browser/schema-browser/table-info.c
+@@ -621,7 +621,7 @@ fk_bind_select_executed_cb (G_GNUC_UNUSED BrowserConnection *bcnc,
+ }
+ }
+ }
+- fkdata->model = g_object_ref (out_result);
++ fkdata->model = (GdaDataModel *) g_object_ref (out_result);
+ fkdata->model_rerunning = FALSE;
+ }
+
diff --git a/gnome-extra/libgda/libgda-5.2.9-r2.ebuild b/gnome-extra/libgda/libgda-5.2.9-r2.ebuild
new file mode 100644
index 000000000000..ce7bd90668fc
--- /dev/null
+++ b/gnome-extra/libgda/libgda-5.2.9-r2.ebuild
@@ -0,0 +1,181 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+GNOME2_EAUTORECONF="yes"
+
+inherit db-use gnome2 java-pkg-opt-2 vala virtualx
+
+DESCRIPTION="GNOME database access library"
+HOMEPAGE="https://www.gnome-db.org/"
+
+# firebird license is not GPL compatible
+LICENSE="GPL-2+ LGPL-2+"
+
+SLOT="5/4" # subslot = libgda-5.0 soname version
+KEYWORDS="~alpha ~amd64 ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+IUSE="berkdb canvas debug firebird keyring gtk graphviz http +introspection json ldap mdb mysql oci8 postgres sourceview ssl vala"
+REQUIRED_USE="
+ canvas? ( gtk )
+ graphviz? ( gtk )
+ sourceview? ( gtk )
+ vala? ( introspection )
+"
+
+RDEPEND="
+ app-text/iso-codes
+ >=dev-libs/glib-2.32:2
+ >=dev-libs/libxml2-2
+ dev-libs/libxslt
+ sys-libs/readline:0=
+ sys-libs/ncurses:0=
+ berkdb? ( sys-libs/db:* )
+ firebird? ( dev-db/firebird )
+ keyring? ( app-crypt/libsecret )
+ gtk? (
+ >=x11-libs/gtk+-3.0.0:3
+ canvas? ( x11-libs/goocanvas:2.0= )
+ sourceview? ( x11-libs/gtksourceview:3.0 )
+ graphviz? ( media-gfx/graphviz )
+ )
+ http? ( >=net-libs/libsoup-2.24:2.4 )
+ introspection? ( >=dev-libs/gobject-introspection-1.30:= )
+ json? ( dev-libs/json-glib )
+ ldap? ( net-nds/openldap:= )
+ mdb? ( >app-office/mdbtools-0.5:= )
+ mysql? ( dev-db/mysql-connector-c:0= )
+ postgres? ( dev-db/postgresql:= )
+ ssl? ( dev-libs/openssl:0= )
+ >=dev-db/sqlite-3.10.2:3=
+ vala? ( dev-libs/libgee:0.8 )
+"
+
+# TODO: libgee shouldn't be needed at build with USE=-vala, but needs build system fixes - bug 674066
+DEPEND="${RDEPEND}
+ dev-libs/libgee:0.8
+"
+
+# java dep shouldn't rely on slots, bug #450004
+BDEPEND="
+ app-text/yelp-tools
+ dev-util/glib-utils
+ dev-build/gtk-doc-am
+ >=dev-util/intltool-0.40.6
+ virtual/pkgconfig
+ java? ( >=virtual/jdk-1.6 )
+ vala? ( $(vala_depend) )
+"
+
+# firebird support bindist-restricted because it is not GPL compatible
+RESTRICT="
+ firebird? ( bindist )
+"
+
+pkg_setup() {
+ java-pkg-opt-2_pkg_setup
+}
+
+src_prepare() {
+ # They need python2
+ sed -e '/SUBDIRS =/ s/trml2html//' \
+ -e '/SUBDIRS =/ s/trml2pdf//' \
+ -i libgda-report/RML/Makefile.{am,in} || die
+
+ # replace my_bool with _Bool
+ eapply "${FILESDIR}/${PN}-5.2-my_bool-error.patch"
+ # ... and stop using bool elsewhere too
+ eapply "${FILESDIR}/${PN}-5.2.9-redefine-bool-error.patch"
+
+ # Prevent file collisions with libgda:4
+ eapply "${FILESDIR}/${PN}-4.99.1-gda-browser-doc-collision.patch"
+ eapply "${FILESDIR}/${PN}-4.99.1-control-center-icon-collision.patch"
+ # Move files with mv (since epatch can't handle rename diffs) and
+ # update pre-generated gtk-doc files (for non-git versions of libgda)
+ local f
+ for f in tools/browser/doc/gda-browser* ; do
+ mv ${f} ${f/gda-browser/gda-browser-5.0} || die "mv ${f} failed"
+ done
+ for f in tools/browser/doc/html/gda-browser.devhelp* ; do
+ sed -e 's:name="gda-browser":name="gda-browser-5.0":' \
+ -i ${f} || die "sed ${f} failed"
+ mv ${f} ${f/gda-browser/gda-browser-5.0} || die "mv ${f} failed"
+ done
+ for f in control-center/data/*_gda-control-center.png ; do
+ mv ${f} ${f/_gda-control-center.png/_gda-control-center-5.0.png} ||
+ die "mv ${f} failed"
+ done
+
+ # Fix building without introspection.
+ eapply "${FILESDIR}/${PN}-5.2.9-no-introspection.patch"
+
+ # Fix build with gcc14
+ # https://github.com/gentoo/gentoo/pull/36912#issuecomment-2171657215
+ eapply "${FILESDIR}/${PN}-5.2.9-fix-gcc14.patch"
+
+ gnome2_src_prepare
+ java-pkg-opt-2_src_prepare
+}
+
+src_configure() {
+ local bdbroot bdbinc bdblib
+
+ if use berkdb; then
+ bdbinc=$(db_includedir)
+ bdbroot=${bdbinc%/include/*}
+ bdbinc=${bdbinc#${bdbroot}/}
+ bdblib=$(get_libdir)
+ fi
+
+ use vala && vala_setup
+
+ # Upstream broken configure handling for UI library introspection and vala bindings if passing a choice with
+ # use_enable - https://gitlab.gnome.org/GNOME/libgda/issues/158
+ # But if we don't pass an explicit choice, it behaves as we need (only enable them if --enable-ui AND the
+ # appropriate --enable-introspection or --enable-vala)
+ gnome2_src_configure \
+ --with-help \
+ --disable-default-binary \
+ --disable-static \
+ --enable-system-sqlite \
+ $(use_with berkdb bdb "${bdbroot}") \
+ $(use_with berkdb bdb-includedir-name "${bdbinc}") \
+ $(use_with berkdb bdb-libdir-name "${bdblib}") \
+ $(use_with canvas goocanvas) \
+ $(use_enable debug) \
+ $(use_with firebird firebird /usr) \
+ $(use_with keyring libsecret) \
+ $(use_with graphviz) \
+ $(use_with gtk ui) \
+ $(use_with http libsoup) \
+ $(use_enable introspection) \
+ "$(use_with java java $JAVA_HOME)" \
+ $(use_enable json) \
+ $(use_with ldap) \
+ --with-ldap-libdir-name="$(get_libdir)" \
+ $(use_with mdb mdb /usr) \
+ $(use_with mysql mysql /usr) \
+ $(use_with oci8 oracle) \
+ $(use_with postgres postgres /usr) \
+ $(use_enable ssl crypto) \
+ $(use_with sourceview gtksourceview) \
+ $(use_enable vala)
+}
+
+src_test() {
+ # multi-threading tests suffer from race conditions
+ virtx emake -j1 check
+}
+
+pkg_preinst() {
+ gnome2_pkg_preinst
+ java-pkg-opt-2_pkg_preinst
+}
+
+src_install() {
+ gnome2_src_install
+ # Use new location
+ if use gtk; then
+ mv "${ED}"/usr/share/appdata "${ED}"/usr/share/metainfo || die
+ fi
+}