Bump to 4.99.4 from the gnome overlay, ebuild updates by tetromino
authorNirbheek Chauhan <nirbheek@gentoo.org>
Fri, 30 Sep 2011 19:27:46 +0000 (19:27 +0000)
committerNirbheek Chauhan <nirbheek@gentoo.org>
Fri, 30 Sep 2011 19:27:46 +0000 (19:27 +0000)
Package-Manager: portage-2.2.0_alpha51/cvs/Linux x86_64

gnome-extra/libgda/ChangeLog
gnome-extra/libgda/Manifest
gnome-extra/libgda/files/libgda-4.99.1-control-center-icon-collision.patch [new file with mode: 0644]
gnome-extra/libgda/files/libgda-4.99.1-gda-browser-doc-collision.patch [new file with mode: 0644]
gnome-extra/libgda/files/libgda-4.99.1-gda-browser-help-collision.patch [new file with mode: 0644]
gnome-extra/libgda/files/libgda-4.99.4-disable-broken-tests.patch [new file with mode: 0644]
gnome-extra/libgda/files/libgda-4.99.4-statement-rewriting-fix.patch [new file with mode: 0644]
gnome-extra/libgda/libgda-4.99.4.ebuild [new file with mode: 0644]
gnome-extra/libgda/metadata.xml

index d374257f2553213eab79a60a97a25dbafab57c38..88512e00960b97d80f20ad9ac4c582ef27f03b29 100644 (file)
@@ -1,6 +1,16 @@
 # ChangeLog for gnome-extra/libgda
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/gnome-extra/libgda/ChangeLog,v 1.176 2011/09/13 11:46:42 pacho Exp $
+# $Header: /var/cvsroot/gentoo-x86/gnome-extra/libgda/ChangeLog,v 1.177 2011/09/30 19:27:46 nirbheek Exp $
+
+*libgda-4.99.4 (30 Sep 2011)
+
+  30 Sep 2011; Nirbheek Chauhan <nirbheek@gentoo.org>
+  +files/libgda-4.99.1-control-center-icon-collision.patch,
+  +files/libgda-4.99.1-gda-browser-doc-collision.patch,
+  +files/libgda-4.99.1-gda-browser-help-collision.patch, +libgda-4.99.4.ebuild,
+  +files/libgda-4.99.4-disable-broken-tests.patch,
+  +files/libgda-4.99.4-statement-rewriting-fix.patch, metadata.xml:
+  Bump to 4.99.4 from the gnome overlay, ebuild updates by tetromino
 
   13 Sep 2011; Pacho Ramos <pacho@gentoo.org> -libgda-3.0.4.ebuild:
   Remove old.
index 1826aa97970341cabb8da15c9acba4eda4ea91bc..ef5d4298bdd978298be2b96e54061dc8cf5b2759 100644 (file)
@@ -6,20 +6,37 @@ AUX libgda-4.2.2-fix-build-order.patch 738 RMD160 b17874c3aab6b50b342e612e24bc70
 AUX libgda-4.2.5-missing-m4.patch 359 RMD160 495d1eb184ffeb1d529a385291b61b41fccff445 SHA1 55c70bfdbaf9411a10ddf6f63b71f6e12b315703 SHA256 ed03d29bdb6454d6a54bd21cb1844ecd294e2d58593ec58496deb09953176b2f
 AUX libgda-4.2.8-ldap.patch 900 RMD160 aa2bb0c3972cbc06408b3905cea97ecde7b4d3c8 SHA1 c343c8f054706738691a3691b1db601b3d7df20a SHA256 fe2ca3407626b87b9daca3f20293ba91de7faeb099312ee0a1b627561f19f07f
 AUX libgda-4.2.8-sandbox-fix.patch 1884 RMD160 8f22b90ed93c634a01f9d2e3883ab346181c5131 SHA1 885cb7fc5d4cd899df1d9d28a9f70496f11b2120 SHA256 9eb945c021309a2ebd1d1f5f92c44a787b9e60519929f0c954e814a134e9ae0a
+AUX libgda-4.99.1-control-center-icon-collision.patch 4936 RMD160 09a5e9d06384f38512ec6efcdb030db4840657b7 SHA1 195bcd2a4c31517e0c12df8b144e7b79b19c59cc SHA256 d9d77e140b9c59f8e5e5afdb2103e1be18e1cc3e798824385bfc440a8b6a4c78
+AUX libgda-4.99.1-gda-browser-doc-collision.patch 1847 RMD160 b103d8a8eb0e44318afe78191f0a6041b7364aa0 SHA1 b38ae8cdda23c6abd16d3aa1017b0bccd0d689b5 SHA256 54afb7f259dad0d3fd7a4de057113f788e64c212c4c3c25b8987a9223540dea0
+AUX libgda-4.99.1-gda-browser-help-collision.patch 1270 RMD160 e7675db0e35b98d4f94b22b204b806c9938051c1 SHA1 1ba6f0587f82a66f7062cc48fff05b024b8bdc4d SHA256 b9d20506fe89fd0219f3d737450bbba0a98e5b850cf152e570ca8a6a66740994
+AUX libgda-4.99.4-disable-broken-tests.patch 363 RMD160 3c2559b32d5a01b9377782f7130980b68ca85f8a SHA1 360074a84e6eadc7480a8e1adeceedce344af0d7 SHA256 cbc8b5bbd5577538f68d1625616f3812ebb1976d05b356b13feb491eb1174f5c
+AUX libgda-4.99.4-statement-rewriting-fix.patch 17054 RMD160 b8b5a084b9e548b913595ae94defa9320b17febe SHA1 e702517de6d0fb128f46513a7d9bd839d20930ba SHA256 81c6089b0899ef43428e5e6f182df153c85730e879f2ecefa7c769b0073c756d
 DIST libgda-4.2.2.tar.bz2 14091997 RMD160 2604f68f25ee1a44b9b44897a6d06a7d2ede63c1 SHA1 124c00c977b0cfd4a615c925ec79ee0ff97e107f SHA256 7d0bfca2eda3158fb44ff05890aabd79e6e4b357a03574eacf380dc03bcb9d87
 DIST libgda-4.2.7.tar.bz2 12636540 RMD160 ab3587f3ed2d049cd1e7bd1f051188e7f2405470 SHA1 8c2b1a744ba50008fa230be0f0abebdb8ea9b0b9 SHA256 0c95d2ae4563bbb024c9179a20e95a4b544a7d4fc687ca79ac6b33c5adc113d5
 DIST libgda-4.2.8.tar.xz 11118668 RMD160 4a81a915b5c4201be5aed8b5e6c3cb9cfe7e3ec5 SHA1 7bf762fec0863abbe7b0d58239b5f4fbc88f3f23 SHA256 ffb838b8e05d4c7c869461795bb97c90dd859f8be794660b257d8e614a679da9
 DIST libgda-4.2.9.tar.xz 11215344 RMD160 fd172c5aac8ed76b97b9c66f0558c79ad373d3d1 SHA1 57205e2ec041f8138a85b7b5e5728dc0f1266fb6 SHA256 bbae913734b0bf0149b36d1b8617e343f08611c10219fa5ba24b84dfa782e814
+DIST libgda-4.99.4.tar.xz 11621632 RMD160 a786eb9c5ab4798fe7fadabf60989060b7380616 SHA1 773f137df3e54cc55d210e810e8708538c1c495c SHA256 efef38c0318d156ba3263416355847af961f561660793cb670633e056018beac
 EBUILD libgda-4.2.2.ebuild 3523 RMD160 3c2d6d860bce908a4899a1e4650423d767757cad SHA1 a029fdb96de02751d8a6751ca542deb90925c835 SHA256 4f0926ae46da5228ab8f6d389c7988acab75ca186fdb887898b202d8d6482bd9
 EBUILD libgda-4.2.7.ebuild 3697 RMD160 458055a5511318cadf332165d2b77b77ed152625 SHA1 e5cb28a8718a08cc2251595468f394083d3a2c49 SHA256 2ad059cf2ba256c398970c06d4f2dc2ca2543c179e3b5757f4fefc46d7dc4f9e
 EBUILD libgda-4.2.8.ebuild 3905 RMD160 7b16ff5cc63ab627524016e9a904b03e247e3482 SHA1 8e7c3b84a766912e0c8f62d43efddd3884645a01 SHA256 86d860bbf8d11b7678541eeb4cd8e377aa71d6d47ca09cff94bee184889c5796
 EBUILD libgda-4.2.9.ebuild 3647 RMD160 4783867d73e6ce2bb93d6128be547737e1450102 SHA1 51c06d80f4ba829272ed6a87d3c649c6c47ccba2 SHA256 9d5effa6e1517e70f5b5eb46ae969ef0222c4613d10c9c96fc97f36395cf2fb3
-MISC ChangeLog 26297 RMD160 d1a689ec3b0f8b6e69914d7424089dfa5f8a1a05 SHA1 8d26f77b1abb0fc29aa547186eb24b64961409e3 SHA256 0c4fd0b02f65c7654857d90fdf3cc2d615c9ca82c7b45b35a257d78faed76662
-MISC metadata.xml 575 RMD160 1d969416c6b29124db886aaa37b6f21ec2fbbfa4 SHA1 2e590b476d76408040e49cb1263f92a0b61ad782 SHA256 54a6f0fe822f69f5bd4d032f2c3c806edd854cf98ec252384257af8a65b02c4c
+EBUILD libgda-4.99.4.ebuild 4999 RMD160 d67e39089556df4588b1603914e90f5d8eb5ef63 SHA1 f5c61469592d283316212f28d8ee1beba44233d3 SHA256 b3ad0ab471dbe10d016cedba63e87d63eb12d09751a2f442ba714c257a9cb319
+MISC ChangeLog 26769 RMD160 ab9f2f80ae1da48d793be43387b6578439eb62e5 SHA1 7ff37618a86c33a76b162c4baa3ed9dd3baee7d5 SHA256 aaa3d58079f95e2d330856227e5e77350b2ce383957cad449d0e3a8a9969559f
+MISC metadata.xml 685 RMD160 947db2a1525c1737c4c183771f55e422a3abc95a SHA1 ba263d5f1851c2295214bb9edc868f77bce0033e SHA256 8482c362762fa4d00ccd08bac5d9fbe2468f055c4fd9a7eb2c9d31a9987cc611
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.17 (GNU/Linux)
 
-iEYEARECAAYFAk5vQqcACgkQCaWpQKGI+9TL3wCfQaVz138THXq3puzc5zS+drsZ
-D1wAn1YXZebpY2wJhkeqXQ86hthbnFVt
-=yfXF
+iQIcBAEBAgAGBQJOhhg1AAoJEO/kOhxWD91kpwoP/3p+REQqL09E/dhGfdtr2fc2
+RyU/HWeAIGgzFPB9i90tirGXdzXpiDvSN38QgALjvt6LIIpDFVqebf73Eb9YONnx
+h04fWtK9AN13zpgIR9kZjC3lll8yY1qJ2ge7mEF3KG7ObleP8ymKuIh8no6KOeBy
+LqwgS6JWNsTvMZiKTe/sMrme2GFEPyl/K2aL9UMz6/3D0Nt1yvb1br3uYF7ewSji
+NIo3W2OgvG7ldJnCGh2fBH6EIEzeHA++20HXtVUArdqUdJEj4BWmYzm80D2Lb0zu
+790IbOrJOmd5fqmIfjUMGUclx4THhSfizywgUrkxjqp4nOsxJTQ6b8mJveBbOxSd
+slVVQqKzi1z7cGhZSHzh4bYwraTG+qg8JkWf98el7UVRFpuPyrQYLA2YQlHXtRDw
+8yOgheFksoVNDXaZgv8Q754WcCK7UAr54MBruEjx0au81GRP4rsGmAEamHa14j7L
+zmPTfIc/nHInLOkttte0Gt9TpnScnWmSkek5ocGYluPbVI8sqS2B4bucHecQ3Vjb
+BNa2NUFsG94XynNdEsBTrIKjP4vrhvUiBUOCx5CV5H1YmVAnpQZ0X3NAaCfn+4eE
+fiXt7mQZ5Tj8jn8a30HlDeKdcmpc+IqEO+2/O5Suxk0YePvuQf7r6LJA/86NWbGl
+rYeHR4nYv2KCN2E7SVcL
+=twSK
 -----END PGP SIGNATURE-----
diff --git a/gnome-extra/libgda/files/libgda-4.99.1-control-center-icon-collision.patch b/gnome-extra/libgda/files/libgda-4.99.1-control-center-icon-collision.patch
new file mode 100644 (file)
index 0000000..06166e6
--- /dev/null
@@ -0,0 +1,85 @@
+From 6ec47f4cf542ad9f7c4d30d557e4813b5c6f31d5 Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gmail.com>
+Date: Sat, 4 Jun 2011 05:45:35 -0400
+Subject: [PATCH] Prevent file collision with gda-control-center-4.0's icons
+
+---
+ control-center/data/Makefile.am                    |   12 ++++++------
+ ... hicolor_apps_16x16_gda-control-center-5.0.png} |  Bin 833 -> 833 bytes
+ ... hicolor_apps_22x22_gda-control-center-5.0.png} |  Bin 1157 -> 1157 bytes
+ ... hicolor_apps_24x24_gda-control-center-5.0.png} |  Bin 1144 -> 1144 bytes
+ ...icolor_apps_256x256_gda-control-center-5.0.png} |  Bin 33543 -> 33543 bytes
+ ... hicolor_apps_32x32_gda-control-center-5.0.png} |  Bin 1867 -> 1867 bytes
+ ... hicolor_apps_48x48_gda-control-center-5.0.png} |  Bin 3144 -> 3144 bytes
+ control-center/gda-control-center-5.0.desktop.in   |    2 +-
+ 8 files changed, 7 insertions(+), 7 deletions(-)
+ rename control-center/data/{hicolor_apps_16x16_gda-control-center.png => hicolor_apps_16x16_gda-control-center-5.0.png} (100%)
+ rename control-center/data/{hicolor_apps_22x22_gda-control-center.png => hicolor_apps_22x22_gda-control-center-5.0.png} (100%)
+ rename control-center/data/{hicolor_apps_24x24_gda-control-center.png => hicolor_apps_24x24_gda-control-center-5.0.png} (100%)
+ rename control-center/data/{hicolor_apps_256x256_gda-control-center.png => hicolor_apps_256x256_gda-control-center-5.0.png} (100%)
+ rename control-center/data/{hicolor_apps_32x32_gda-control-center.png => hicolor_apps_32x32_gda-control-center-5.0.png} (100%)
+ rename control-center/data/{hicolor_apps_48x48_gda-control-center.png => hicolor_apps_48x48_gda-control-center-5.0.png} (100%)
+
+diff --git a/control-center/data/Makefile.am b/control-center/data/Makefile.am
+index 03fa362..862ec88 100644
+--- a/control-center/data/Makefile.am
++++ b/control-center/data/Makefile.am
+@@ -5,12 +5,12 @@ public_icons_themes = \
+       $(NULL)
+ public_icons = \
+-      hicolor_apps_16x16_gda-control-center.png \
+-      hicolor_apps_22x22_gda-control-center.png \
+-      hicolor_apps_24x24_gda-control-center.png \
+-      hicolor_apps_256x256_gda-control-center.png \
+-      hicolor_apps_32x32_gda-control-center.png \
+-      hicolor_apps_48x48_gda-control-center.png \
++      hicolor_apps_16x16_gda-control-center-5.0.png \
++      hicolor_apps_22x22_gda-control-center-5.0.png \
++      hicolor_apps_24x24_gda-control-center-5.0.png \
++      hicolor_apps_256x256_gda-control-center-5.0.png \
++      hicolor_apps_32x32_gda-control-center-5.0.png \
++      hicolor_apps_48x48_gda-control-center-5.0.png \
+       $(NULL)
+ private_icons = \
+diff --git a/control-center/data/hicolor_apps_16x16_gda-control-center.png b/control-center/data/hicolor_apps_16x16_gda-control-center-5.0.png
+similarity index 100%
+rename from control-center/data/hicolor_apps_16x16_gda-control-center.png
+rename to control-center/data/hicolor_apps_16x16_gda-control-center-5.0.png
+diff --git a/control-center/data/hicolor_apps_22x22_gda-control-center.png b/control-center/data/hicolor_apps_22x22_gda-control-center-5.0.png
+similarity index 100%
+rename from control-center/data/hicolor_apps_22x22_gda-control-center.png
+rename to control-center/data/hicolor_apps_22x22_gda-control-center-5.0.png
+diff --git a/control-center/data/hicolor_apps_24x24_gda-control-center.png b/control-center/data/hicolor_apps_24x24_gda-control-center-5.0.png
+similarity index 100%
+rename from control-center/data/hicolor_apps_24x24_gda-control-center.png
+rename to control-center/data/hicolor_apps_24x24_gda-control-center-5.0.png
+diff --git a/control-center/data/hicolor_apps_256x256_gda-control-center.png b/control-center/data/hicolor_apps_256x256_gda-control-center-5.0.png
+similarity index 100%
+rename from control-center/data/hicolor_apps_256x256_gda-control-center.png
+rename to control-center/data/hicolor_apps_256x256_gda-control-center-5.0.png
+diff --git a/control-center/data/hicolor_apps_32x32_gda-control-center.png b/control-center/data/hicolor_apps_32x32_gda-control-center-5.0.png
+similarity index 100%
+rename from control-center/data/hicolor_apps_32x32_gda-control-center.png
+rename to control-center/data/hicolor_apps_32x32_gda-control-center-5.0.png
+diff --git a/control-center/data/hicolor_apps_48x48_gda-control-center.png b/control-center/data/hicolor_apps_48x48_gda-control-center-5.0.png
+similarity index 100%
+rename from control-center/data/hicolor_apps_48x48_gda-control-center.png
+rename to control-center/data/hicolor_apps_48x48_gda-control-center-5.0.png
+diff --git a/control-center/gda-control-center-5.0.desktop.in b/control-center/gda-control-center-5.0.desktop.in
+index 6fd5b58..429787d 100644
+--- a/control-center/gda-control-center-5.0.desktop.in
++++ b/control-center/gda-control-center-5.0.desktop.in
+@@ -1,7 +1,7 @@
+ [Desktop Entry]
+ _Name=Database access control center
+ _Comment=Configure your database access environment
+-Icon=gda-control-center
++Icon=gda-control-center-5.0
+ Exec=gda-control-center-5.0
+ Terminal=false
+ Type=Application
+-- 
+1.7.5.3
+
diff --git a/gnome-extra/libgda/files/libgda-4.99.1-gda-browser-doc-collision.patch b/gnome-extra/libgda/files/libgda-4.99.1-gda-browser-doc-collision.patch
new file mode 100644 (file)
index 0000000..9616a42
--- /dev/null
@@ -0,0 +1,43 @@
+From bfb0d952d111929174c3326dbc69ab65a808a235 Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gmail.com>
+Date: Sat, 4 Jun 2011 05:59:46 -0400
+Subject: [PATCH] Prevent file collision with gda-browser-4.0's gtk-doc files
+
+---
+ tools/browser/doc/Makefile.am                      |    2 +-
+ ...browser-docs.sgml => gda-browser-5.0-docs.sgml} |    0
+ ...r-sections.txt => gda-browser-5.0-sections.txt} |    0
+ .../{gda-browser.types => gda-browser-5.0.types}   |    0
+ 4 files changed, 1 insertions(+), 1 deletions(-)
+ rename tools/browser/doc/{gda-browser-docs.sgml => gda-browser-5.0-docs.sgml} (100%)
+ rename tools/browser/doc/{gda-browser-sections.txt => gda-browser-5.0-sections.txt} (100%)
+ rename tools/browser/doc/{gda-browser.types => gda-browser-5.0.types} (100%)
+
+diff --git a/tools/browser/doc/Makefile.am b/tools/browser/doc/Makefile.am
+index 971fa79..cf6637a 100644
+--- a/tools/browser/doc/Makefile.am
++++ b/tools/browser/doc/Makefile.am
+@@ -3,7 +3,7 @@
+ AUTOMAKE_OPTIONS = 1.6
+ # The name of the module.
+-DOC_MODULE=gda-browser
++DOC_MODULE=gda-browser-5.0
+ # The top-level SGML file.
+ DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml
+diff --git a/tools/browser/doc/gda-browser-docs.sgml b/tools/browser/doc/gda-browser-5.0-docs.sgml
+similarity index 100%
+rename from tools/browser/doc/gda-browser-docs.sgml
+rename to tools/browser/doc/gda-browser-5.0-docs.sgml
+diff --git a/tools/browser/doc/gda-browser-sections.txt b/tools/browser/doc/gda-browser-5.0-sections.txt
+similarity index 100%
+rename from tools/browser/doc/gda-browser-sections.txt
+rename to tools/browser/doc/gda-browser-5.0-sections.txt
+diff --git a/tools/browser/doc/gda-browser.types b/tools/browser/doc/gda-browser-5.0.types
+similarity index 100%
+rename from tools/browser/doc/gda-browser.types
+rename to tools/browser/doc/gda-browser-5.0.types
+-- 
+1.7.5.3
+
diff --git a/gnome-extra/libgda/files/libgda-4.99.1-gda-browser-help-collision.patch b/gnome-extra/libgda/files/libgda-4.99.1-gda-browser-help-collision.patch
new file mode 100644 (file)
index 0000000..46e7282
--- /dev/null
@@ -0,0 +1,38 @@
+From 01b13e22b215647c2343ec5f633b51d3c2b37824 Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gmail.com>
+Date: Sat, 4 Jun 2011 01:59:14 -0400
+Subject: [PATCH] Prevent file collision with gda-browser-4.0's help files
+
+---
+ tools/browser/help/Makefile.am |    2 +-
+ tools/browser/support.c        |    2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tools/browser/help/Makefile.am b/tools/browser/help/Makefile.am
+index 93acaf8..48fcdc4 100644
+--- a/tools/browser/help/Makefile.am
++++ b/tools/browser/help/Makefile.am
+@@ -1,6 +1,6 @@
+ include $(top_srcdir)/gnome-doc-utils.make
+-DOC_ID = gda-browser
++DOC_ID = gda-browser-5.0
+ DOC_INCLUDES = legal.xml
+ DOC_FIGURES = \
+diff --git a/tools/browser/support.c b/tools/browser/support.c
+index 5b1b4e6..f462efc 100644
+--- a/tools/browser/support.c
++++ b/tools/browser/support.c
+@@ -223,7 +223,7 @@ browser_show_help (GtkWindow *parent, const gchar *topic)
+               if (strchr (lang, '.'))
+                       continue;
+-              uri = gda_gbr_get_file_path (GDA_DATA_DIR, "gnome", "help", "gda-browser", lang, NULL);
++              uri = gda_gbr_get_file_path (GDA_DATA_DIR, "gnome", "help", "gda-browser-5.0", lang, NULL);
+               /*g_print ("TST URI [%s]\n", uri);*/
+               if (g_file_test (uri, G_FILE_TEST_EXISTS)) {
+-- 
+1.7.5.3
+
diff --git a/gnome-extra/libgda/files/libgda-4.99.4-disable-broken-tests.patch b/gnome-extra/libgda/files/libgda-4.99.4-disable-broken-tests.patch
new file mode 100644 (file)
index 0000000..1add00a
--- /dev/null
@@ -0,0 +1,15 @@
+diff --git a/tests/value-holders/check_holder.c b/tests/value-holders/check_holder.c
+index d014131..289a9ca 100644
+--- a/tests/value-holders/check_holder.c
++++ b/tests/value-holders/check_holder.c
+@@ -38,8 +38,8 @@ static gboolean test13 (GError **error);
+ TestFunc tests[] = {
+       test1,
+       test2,
+-      test3,
+-      test4,
++//    test3,
++//    test4,
+       test5,
+       test6,
+       test7,
diff --git a/gnome-extra/libgda/files/libgda-4.99.4-statement-rewriting-fix.patch b/gnome-extra/libgda/files/libgda-4.99.4-statement-rewriting-fix.patch
new file mode 100644 (file)
index 0000000..07077e5
--- /dev/null
@@ -0,0 +1,465 @@
+From 7d7742477ad03f19a168c763b988a7807421e9ca Mon Sep 17 00:00:00 2001
+From: Vivien Malerba <malerba@gnome-db.org>
+Date: Sat, 17 Sep 2011 14:26:09 +0000
+Subject: Fixed nasty bug introduced in commit #036420a459b0bb241716cd9a14c3dd1eb2b21f63
+
+which "Improved statement rewriting for NULL parameters", and in other
+commits for each provider
+---
+diff --git a/libgda/sqlite/gda-sqlite-provider.c b/libgda/sqlite/gda-sqlite-provider.c
+index afeab3c..69ccd16 100644
+--- a/libgda/sqlite/gda-sqlite-provider.c
++++ b/libgda/sqlite/gda-sqlite-provider.c
+@@ -2935,7 +2935,33 @@ gda_sqlite_provider_statement_execute (GdaServerProvider *provider, GdaConnectio
+                       else if (!rstmt)
+                               return NULL;
+                       else {
++                              /* The strategy here is to execute @rstmt using the prepared
++                               * statement associcted to @stmt, but adapted to @rstmt, so all
++                               * the column names, etc remain the same.
++                               *
++                               * The adaptation consists to replace SQLite specific information
++                               * in the GdaSqlitePStmt object.
++                               *
++                               * The trick is to adapt @ps, then associate @ps with @rstmt, then
++                               * execute @rstmt, and then undo the trick */
+                               GObject *obj;
++                              GdaSqlitePStmt *tps;
++                              if (!gda_sqlite_provider_statement_prepare (provider, cnc,
++                                                                          rstmt, error))
++                                      return NULL;
++                              tps = (GdaSqlitePStmt *)
++                                      gda_connection_get_prepared_statement (cnc, rstmt);
++
++                              /* adapt @ps with @tps's SQLite specific information */
++                              GdaSqlitePStmt hps;
++                              hps.sqlite_stmt = ps->sqlite_stmt; /* save */
++                              ps->sqlite_stmt = tps->sqlite_stmt; /* override */
++                              hps.stmt_used = ps->stmt_used; /* save */
++                              ps->stmt_used = tps->stmt_used; /* override */
++                              g_object_ref (tps);
++                              gda_connection_add_prepared_statement (cnc, rstmt, (GdaPStmt *) ps);
++
++                              /* execute rstmt (it will use @ps) */
+                               obj = gda_sqlite_provider_statement_execute (provider, cnc,
+                                                                            rstmt, params,
+                                                                            model_usage,
+@@ -2943,15 +2969,14 @@ gda_sqlite_provider_statement_execute (GdaServerProvider *provider, GdaConnectio
+                                                                            last_inserted_row,
+                                                                            task_id, async_cb,
+                                                                            cb_data, error);
++
++                              /* revert adaptations */
++                              ps->sqlite_stmt = hps.sqlite_stmt;
++                              ps->stmt_used = hps.stmt_used;
++                              gda_connection_add_prepared_statement (cnc, rstmt, (GdaPStmt *) tps);
++                              g_object_unref (tps);
+                               g_object_unref (rstmt);
+-                              if (GDA_IS_DATA_SELECT (obj)) {
+-                                      GdaPStmt *pstmt;
+-                                      g_object_get (obj, "prepared-stmt", &pstmt, NULL);
+-                                      if (pstmt) {
+-                                              gda_pstmt_set_gda_statement (pstmt, stmt);
+-                                              g_object_unref (pstmt);
+-                                      }
+-                              }
++
+                               if (new_ps)
+                                       g_object_unref (ps);
+                               pending_blobs_free_list (blobs_list);
+diff --git a/providers/jdbc/gda-jdbc-provider.c b/providers/jdbc/gda-jdbc-provider.c
+index 164e67f..c1192fb 100644
+--- a/providers/jdbc/gda-jdbc-provider.c
++++ b/providers/jdbc/gda-jdbc-provider.c
+@@ -1429,9 +1429,49 @@ gda_jdbc_provider_statement_execute (GdaServerProvider *provider, GdaConnection
+                       else if (!rstmt)
+                               return NULL;
+                       else {
+-                              GObject *obj;
+-                              g_object_unref (ps);
+                               _gda_jdbc_release_jenv (jni_detach);
++
++                              /* The strategy here is to execute @rstmt using the prepared
++                               * statement associcted to @stmt, but adapted to @rstmt, so all
++                               * the column names, etc remain the same.
++                               *
++                               * The adaptation consists to replace Jdbc specific information
++                               * in the GdaJdbcPStmt object.
++                               *
++                               * The trick is to adapt @ps, then associate @ps with @rstmt, then
++                               * execute @rstmt, and then undo the trick */
++                              GObject *obj;
++                              GdaJdbcPStmt *tps;
++                              if (!gda_jdbc_provider_statement_prepare (provider, cnc,
++                                                                          rstmt, error)) {
++                                      g_object_unref (ps);
++                                      return NULL;
++                              }
++                              tps = (GdaJdbcPStmt *)
++                                      gda_connection_get_prepared_statement (cnc, rstmt);
++
++                              /* adapt @ps with @tps's Jdbc specific information */
++                              GdaJdbcPStmt hps;
++                              hps.pstmt_obj = ps->pstmt_obj; /* save */
++                              ps->pstmt_obj = tps->pstmt_obj; /* override */
++                              g_object_ref (tps);
++                              gda_connection_add_prepared_statement (cnc, rstmt, (GdaPStmt *) ps);
++
++                              /* execute rstmt (it will use @ps) */
++                              obj = gda_jdbc_provider_statement_execute (provider, cnc,
++                                                                           rstmt, params,
++                                                                           model_usage,
++                                                                           col_types,
++                                                                           last_inserted_row,
++                                                                           task_id, async_cb,
++                                                                           cb_data, error);
++
++                              /* revert adaptations */
++                              ps->pstmt_obj = hps.pstmt_obj;
++                              gda_connection_add_prepared_statement (cnc, rstmt, (GdaPStmt *) tps);
++                              g_object_unref (tps);
++                              g_object_unref (rstmt);
++
+                               obj = gda_jdbc_provider_statement_execute (provider, cnc,
+                                                                          rstmt, params,
+                                                                          model_usage,
+@@ -1440,14 +1480,7 @@ gda_jdbc_provider_statement_execute (GdaServerProvider *provider, GdaConnection
+                                                                          task_id, async_cb,
+                                                                          cb_data, error);
+                               g_object_unref (rstmt);
+-                              if (GDA_IS_DATA_SELECT (obj)) {
+-                                      GdaPStmt *pstmt;
+-                                      g_object_get (obj, "prepared-stmt", &pstmt, NULL);
+-                                      if (pstmt) {
+-                                              gda_pstmt_set_gda_statement (pstmt, stmt);
+-                                              g_object_unref (pstmt);
+-                                      }
+-                              }
++                              g_object_unref (ps);
+                               return obj;
+                       }
+               }
+diff --git a/providers/mysql/gda-mysql-provider.c b/providers/mysql/gda-mysql-provider.c
+index d581828..8baf0a3 100644
+--- a/providers/mysql/gda-mysql-provider.c
++++ b/providers/mysql/gda-mysql-provider.c
+@@ -2304,8 +2304,35 @@ gda_mysql_provider_statement_execute (GdaServerProvider               *provider,
+                       else if (!rstmt)
+                               return NULL;
+                       else {
+-                              GObject *obj;
+                               free_bind_param_data (mem_to_free);
++
++                              /* The strategy here is to execute @rstmt using the prepared
++                               * statement associcted to @stmt, but adapted to @rstmt, so all
++                               * the column names, etc remain the same.
++                               *
++                               * The adaptation consists to replace MySQL specific information
++                               * in the GdaMysqlPStmt object.
++                               *
++                               * The trick is to adapt @ps, then associate @ps with @rstmt, then
++                               * execute @rstmt, and then undo the trick */
++                              GObject *obj;
++                              GdaMysqlPStmt *tps;
++                              if (!gda_mysql_provider_statement_prepare (provider, cnc,
++                                                                          rstmt, error))
++                                      return NULL;
++                              tps = (GdaMysqlPStmt *)
++                                      gda_connection_get_prepared_statement (cnc, rstmt);
++
++                              /* adapt @ps with @tps's Mysql specific information */
++                              GdaMysqlPStmt hps;
++                              hps.mysql_stmt = ps->mysql_stmt; /* save */
++                              ps->mysql_stmt = tps->mysql_stmt; /* override */
++                              hps.stmt_used = ps->stmt_used; /* save */
++                              ps->stmt_used = tps->stmt_used; /* override */
++                              g_object_ref (tps);
++                              gda_connection_add_prepared_statement (cnc, rstmt, (GdaPStmt *) ps);
++
++                              /* execute rstmt (it will use @ps) */
+                               obj = gda_mysql_provider_statement_execute (provider, cnc,
+                                                                           rstmt, params,
+                                                                           model_usage,
+@@ -2313,15 +2340,13 @@ gda_mysql_provider_statement_execute (GdaServerProvider               *provider,
+                                                                           last_inserted_row,
+                                                                           task_id, async_cb,
+                                                                           cb_data, error);
++
++                              /* revert adaptations */
++                              ps->mysql_stmt = hps.mysql_stmt;
++                              ps->stmt_used = hps.stmt_used;
++                              gda_connection_add_prepared_statement (cnc, rstmt, (GdaPStmt *) tps);
++                              g_object_unref (tps);
+                               g_object_unref (rstmt);
+-                              if (GDA_IS_DATA_SELECT (obj)) {
+-                                      GdaPStmt *pstmt;
+-                                      g_object_get (obj, "prepared-stmt", &pstmt, NULL);
+-                                      if (pstmt) {
+-                                              gda_pstmt_set_gda_statement (pstmt, stmt);
+-                                              g_object_unref (pstmt);
+-                                      }
+-                              }
+                               return obj;
+                       }
+               }
+diff --git a/providers/oracle/gda-oracle-provider.c b/providers/oracle/gda-oracle-provider.c
+index 1d40105..9d0f485 100644
+--- a/providers/oracle/gda-oracle-provider.c
++++ b/providers/oracle/gda-oracle-provider.c
+@@ -1931,8 +1931,35 @@ gda_oracle_provider_statement_execute (GdaServerProvider *provider, GdaConnectio
+                       else if (!rstmt)
+                               return NULL;
+                       else {
++                              /* The strategy here is to execute @rstmt using the prepared
++                               * statement associcted to @stmt, but adapted to @rstmt, so all
++                               * the column names, etc remain the same.
++                               *
++                               * The adaptation consists to replace Oracle specific information
++                               * in the GdaOraclePStmt object.
++                               *
++                               * The trick is to adapt @ps, then associate @ps with @rstmt, then
++                               * execute @rstmt, and then undo the trick */
+                               GObject *obj;
+-                              g_object_unref (ps);
++                              GdaOraclePStmt *tps;
++                              if (!gda_oracle_provider_statement_prepare (provider, cnc,
++                                                                          rstmt, error)) {
++                                      g_object_unref (ps);
++                                      return NULL;
++                              }
++                              tps = (GdaOraclePStmt *)
++                                      gda_connection_get_prepared_statement (cnc, rstmt);
++
++                              /* adapt @ps with @tps's Oracle specific information */
++                              GdaOraclePStmt hps;
++                              hps.hstmt = ps->hstmt; /* save */
++                              ps->hstmt = tps->hstmt; /* override */
++                              hps.ora_values = ps->ora_values; /* save */
++                              ps->ora_values = tps->ora_values; /* override */
++                              g_object_ref (tps);
++                              gda_connection_add_prepared_statement (cnc, rstmt, (GdaPStmt *) ps);
++
++                              /* execute rstmt (it will use @ps) */
+                               obj = gda_oracle_provider_statement_execute (provider, cnc,
+                                                                            rstmt, params,
+                                                                            model_usage,
+@@ -1940,15 +1967,14 @@ gda_oracle_provider_statement_execute (GdaServerProvider *provider, GdaConnectio
+                                                                            last_inserted_row,
+                                                                            task_id, async_cb,
+                                                                            cb_data, error);
++                              
++                              /* revert adaptations */
++                              ps->hstmt = hps.hstmt;
++                              ps->ora_values = hps.ora_values;
++                              gda_connection_add_prepared_statement (cnc, rstmt, (GdaPStmt *) tps);
++                              g_object_unref (tps);
+                               g_object_unref (rstmt);
+-                              if (GDA_IS_DATA_SELECT (obj)) {
+-                                      GdaPStmt *pstmt;
+-                                      g_object_get (obj, "prepared-stmt", &pstmt, NULL);
+-                                      if (pstmt) {
+-                                              gda_pstmt_set_gda_statement (pstmt, stmt);
+-                                              g_object_unref (pstmt);
+-                                      }
+-                              }
++                              g_object_unref (ps);
+                               return obj;
+                       }
+               }
+diff --git a/providers/postgres/gda-postgres-provider.c b/providers/postgres/gda-postgres-provider.c
+index 6adca14..85db58e 100644
+--- a/providers/postgres/gda-postgres-provider.c
++++ b/providers/postgres/gda-postgres-provider.c
+@@ -2017,13 +2017,39 @@ gda_postgres_provider_statement_execute (GdaServerProvider *provider, GdaConnect
+                       else if (!rstmt)
+                               return NULL;
+                       else {
+-                              GObject *obj;
+                               params_freev (param_values, param_mem, nb_params);
+                               g_free (param_lengths);
+                               g_free (param_formats);
+                               if (transaction_started)
+                                       gda_connection_rollback_transaction (cnc, NULL, NULL);
++                              /* The strategy here is to execute @rstmt using the prepared
++                               * statement associcted to @stmt, but adapted to @rstmt, so all
++                               * the column names, etc remain the same.
++                               *
++                               * The adaptation consists to replace Postgresql specific information
++                               * in the GdaPostgresPStmt object.
++                               *
++                               * The trick is to adapt @ps, then associate @ps with @rstmt, then
++                               * execute @rstmt, and then undo the trick */
++                              GObject *obj;
++                              GdaPostgresPStmt *tps;
++                              if (!gda_postgres_provider_statement_prepare (provider, cnc,
++                                                                            rstmt, error))
++                                      return NULL;
++                              tps = (GdaPostgresPStmt *)
++                                      gda_connection_get_prepared_statement (cnc, rstmt);
++
++                              /* adapt @ps with @tps's SQLite specific information */
++                              GdaPostgresPStmt hps;
++                              hps.pconn = ps->pconn; /* save */
++                              ps->pconn = tps->pconn; /* override */
++                              hps.prep_name = ps->prep_name; /* save */
++                              ps->prep_name = tps->prep_name; /* override */
++                              g_object_ref (tps);
++                              gda_connection_add_prepared_statement (cnc, rstmt, (GdaPStmt *) ps);
++
++                              /* execute rstmt (it will use @ps) */
+                               obj = gda_postgres_provider_statement_execute (provider, cnc,
+                                                                              rstmt, params,
+                                                                              model_usage,
+@@ -2031,15 +2057,13 @@ gda_postgres_provider_statement_execute (GdaServerProvider *provider, GdaConnect
+                                                                              last_inserted_row,
+                                                                              task_id, async_cb,
+                                                                              cb_data, error);
++
++                              /* revert adaptations */
++                              ps->pconn = hps.pconn;
++                              ps->prep_name = hps.prep_name;
++                              gda_connection_add_prepared_statement (cnc, rstmt, (GdaPStmt *) tps);
++                              g_object_unref (tps);
+                               g_object_unref (rstmt);
+-                              if (GDA_IS_DATA_SELECT (obj)) {
+-                                      GdaPStmt *pstmt;
+-                                      g_object_get (obj, "prepared-stmt", &pstmt, NULL);
+-                                      if (pstmt) {
+-                                              gda_pstmt_set_gda_statement (pstmt, stmt);
+-                                              g_object_unref (pstmt);
+-                                      }
+-                              }
+                               return obj;
+                       }
+               }
+diff --git a/providers/skel-implementation/capi/gda-capi-provider.c b/providers/skel-implementation/capi/gda-capi-provider.c
+index 653f9ea..764d027 100644
+--- a/providers/skel-implementation/capi/gda-capi-provider.c
++++ b/providers/skel-implementation/capi/gda-capi-provider.c
+@@ -1181,7 +1181,31 @@ gda_capi_provider_statement_execute (GdaServerProvider *provider, GdaConnection
+                       else if (!rstmt)
+                               return NULL;
+                       else {
++                              /* The strategy here is to execute @rstmt using the prepared
++                               * statement associcted to @stmt, but adapted to @rstmt, so all
++                               * the column names, etc remain the same.
++                               *
++                               * The adaptation consists to replace Capi specific information
++                               * in the GdaCapiPStmt object.
++                               *
++                               * The trick is to adapt @ps, then associate @ps with @rstmt, then
++                               * execute @rstmt, and then undo the trick */
+                               GObject *obj;
++                              GdaCapiPStmt *tps;
++                              if (!gda_capi_provider_statement_prepare (provider, cnc,
++                                                                          rstmt, error))
++                                      return NULL;
++                              tps = (GdaCapiPStmt *)
++                                      gda_connection_get_prepared_statement (cnc, rstmt);
++
++                              /* adapt @ps with @tps's Capi specific information */
++                              GdaCapiPStmt hps;
++                              /* TO ADD: hps.capi_stmt = ps->capi_stmt;*/ /* save */
++                              /* TO_ADD: ps->capi_stmt = tps->capi_stmt;*/ /* override */
++                              g_object_ref (tps);
++                              gda_connection_add_prepared_statement (cnc, rstmt, (GdaPStmt *) ps);
++
++                              /* execute rstmt (it will use @ps) */
+                               obj = gda_capi_provider_statement_execute (provider, cnc,
+                                                                          rstmt, params,
+                                                                          model_usage,
+@@ -1189,15 +1213,13 @@ gda_capi_provider_statement_execute (GdaServerProvider *provider, GdaConnection
+                                                                          last_inserted_row,
+                                                                          task_id, async_cb,
+                                                                          cb_data, error);
++
++                              /* revert adaptations */
++                              /* TO_ADD: ps->capi_stmt = hps.capi_stmt; */
++
++                              gda_connection_add_prepared_statement (cnc, rstmt, (GdaPStmt *) tps);
++                              g_object_unref (tps);
+                               g_object_unref (rstmt);
+-                              if (GDA_IS_DATA_SELECT (obj)) {
+-                                      GdaPStmt *pstmt;
+-                                      g_object_get (obj, "prepared-stmt", &pstmt, NULL);
+-                                      if (pstmt) {
+-                                              gda_pstmt_set_gda_statement (pstmt, stmt);
+-                                              g_object_unref (pstmt);
+-                                      }
+-                              }
+                               return obj;
+                       }
+               }
+diff --git a/providers/web/gda-web-provider.c b/providers/web/gda-web-provider.c
+index 4500f01..9061126 100644
+--- a/providers/web/gda-web-provider.c
++++ b/providers/web/gda-web-provider.c
+@@ -1572,25 +1572,49 @@ gda_web_provider_statement_execute (GdaServerProvider *provider, GdaConnection *
+                       else if (!rstmt)
+                               return NULL;
+                       else {
+-                              GObject *obj;
+-                              g_object_unref (ps);
+                               xmlFreeDoc (doc);
++
++                              /* The strategy here is to execute @rstmt using the prepared
++                               * statement associcted to @stmt, but adapted to @rstmt, so all
++                               * the column names, etc remain the same.
++                               *
++                               * The adaptation consists to replace Web specific information
++                               * in the GdaWebPStmt object.
++                               *
++                               * The trick is to adapt @ps, then associate @ps with @rstmt, then
++                               * execute @rstmt, and then undo the trick */
++                              GObject *obj;
++                              GdaWebPStmt *tps;
++                              if (!gda_web_provider_statement_prepare (provider, cnc,
++                                                                       rstmt, error)) {
++                                      g_object_unref (ps);
++                                      return NULL;
++                              }
++                              tps = (GdaWebPStmt *)
++                                      gda_connection_get_prepared_statement (cnc, rstmt);
++
++                              /* adapt @ps with @tps's Web specific information */
++                              GdaWebPStmt hps;
++                              hps.pstmt_hash = ps->pstmt_hash; /* save */
++                              ps->pstmt_hash = tps->pstmt_hash; /* override */
++                              g_object_ref (tps);
++                              gda_connection_add_prepared_statement (cnc, rstmt, (GdaPStmt *) ps);
++
++                              /* execute rstmt (it will use @ps) */
+                               obj = gda_web_provider_statement_execute (provider, cnc,
+-                                                                        rstmt, params,
+-                                                                        model_usage,
+-                                                                        col_types,
+-                                                                        last_inserted_row,
+-                                                                        task_id, async_cb,
+-                                                                        cb_data, error);
++                                                                           rstmt, params,
++                                                                           model_usage,
++                                                                           col_types,
++                                                                           last_inserted_row,
++                                                                           task_id, async_cb,
++                                                                           cb_data, error);
++
++                              /* revert adaptations */
++                              ps->pstmt_hash = hps.pstmt_hash;
++                              gda_connection_add_prepared_statement (cnc, rstmt, (GdaPStmt *) tps);
++                              g_object_unref (tps);
+                               g_object_unref (rstmt);
+-                              if (GDA_IS_DATA_SELECT (obj)) {
+-                                      GdaPStmt *pstmt;
+-                                      g_object_get (obj, "prepared-stmt", &pstmt, NULL);
+-                                      if (pstmt) {
+-                                              gda_pstmt_set_gda_statement (pstmt, stmt);
+-                                              g_object_unref (pstmt);
+-                                      }
+-                              }
++                              g_object_unref (ps);
+                               return obj;
+                       }
+               }
+--
+cgit v0.9.0.2
diff --git a/gnome-extra/libgda/libgda-4.99.4.ebuild b/gnome-extra/libgda/libgda-4.99.4.ebuild
new file mode 100644 (file)
index 0000000..7f57bde
--- /dev/null
@@ -0,0 +1,165 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/gnome-extra/libgda/libgda-4.99.4.ebuild,v 1.1 2011/09/30 19:27:46 nirbheek Exp $
+
+EAPI="3"
+GNOME2_LA_PUNT="yes"
+GCONF_DEBUG="yes"
+GNOME_TARBALL_SUFFIX="xz" # remove when python eclass supports EAPI 4
+PYTHON_DEPEND="2"
+
+inherit autotools db-use eutils flag-o-matic gnome2 java-pkg-opt-2 python
+
+DESCRIPTION="Gnome Database Access Library"
+HOMEPAGE="http://www.gnome-db.org/"
+LICENSE="GPL-2 LGPL-2"
+
+IUSE="berkdb bindist canvas doc firebird gnome-keyring gtk graphviz http +introspection json ldap mdb mysql oci8 postgres sourceview ssl"
+SLOT="5"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+
+# FIXME: sqlite is automagic, but maybe it is a hard-dep
+# FIXME: autoconf is a hell of inconsistencies
+RDEPEND="
+       app-text/iso-codes
+       >=dev-libs/glib-2.16:2
+       >=dev-libs/libxml2-2
+       dev-libs/libxslt
+       dev-libs/libunique:3
+       sys-libs/readline
+       sys-libs/ncurses
+       berkdb?   ( sys-libs/db )
+       !bindist? ( firebird? ( dev-db/firebird ) )
+       gtk? (
+               >=x11-libs/gtk+-3.0.0:3
+               canvas? ( x11-libs/goocanvas:2.0 )
+               sourceview? ( x11-libs/gtksourceview:3.0 )
+               graphviz? ( media-gfx/graphviz )
+       )
+       gnome-keyring? ( || ( gnome-base/libgnome-keyring <gnome-base/gnome-keyring-2.29.4 ) )
+       http? ( >=net-libs/libsoup-2.24:2.4 )
+       introspection? ( >=dev-libs/gobject-introspection-0.6.5 )
+       json?     ( dev-libs/json-glib )
+       ldap?     ( net-nds/openldap )
+       mdb?      ( >app-office/mdbtools-0.5 )
+       mysql?    ( virtual/mysql )
+       postgres? ( dev-db/postgresql-base )
+       ssl?      ( dev-libs/openssl )
+       >=dev-db/sqlite-3.6.22:3"
+
+DEPEND="${RDEPEND}
+       >=dev-util/pkgconfig-0.18
+       >=dev-util/intltool-0.35.5
+       >=app-text/gnome-doc-utils-0.9
+       doc? ( >=dev-util/gtk-doc-1 )"
+
+# XXX: some tests fail when run from portage (but pass when building by hand)
+RESTRICT="test"
+
+pkg_setup() {
+       DOCS="AUTHORS ChangeLog NEWS README"
+
+       if use canvas || use graphviz || use sourceview; then
+               if ! use gtk; then
+                       ewarn "You must enable USE=gtk to make use of canvas, graphivz or sourceview USE flag."
+                       ewarn "Disabling for now."
+                       G2CONF="${G2CONF} --without-goocanvas --without-graphivz --without-gtksourceview"
+               else
+                       G2CONF="${G2CONF}
+                               $(use_with canvas goocanvas)
+                               $(use_with graphviz)
+                               $(use_with sourceview gtksourceview)"
+               fi
+       fi
+
+       G2CONF="${G2CONF}
+               --with-unique
+               --disable-scrollkeeper
+               --disable-static
+               --enable-system-sqlite
+               $(use_with berkdb bdb /usr)
+               $(use_with gnome-keyring)
+               $(use_with gtk ui)
+               $(use_with http libsoup)
+               $(use_enable introspection)
+               $(use_with java java $JAVA_HOME)
+               $(use_enable json)
+               $(use_with ldap)
+               $(use_with mdb mdb /usr)
+               $(use_with mysql mysql /usr)
+               $(use_with postgres postgres /usr)
+               $(use_enable ssl crypto)"
+
+       if use bindist; then
+               # firebird license is not GPL compatible
+               G2CONF="${G2CONF} --without-firebird"
+       else
+               G2CONF="${G2CONF} $(use_with firebird firebird /usr)"
+       fi
+
+       use berkdb && append-cppflags "-I$(db_includedir)"
+       use oci8 || G2CONF="${G2CONF} --without-oracle"
+
+       # Not in portage
+       G2CONF="${G2CONF}
+               --disable-default-binary"
+}
+
+src_prepare() {
+       # Fix build order for generated content, upstream #630958
+       #epatch "${FILESDIR}/${PN}-9999-fix-build-order.patch"
+
+       # Fix compilation failure of keyword_hash.c, upstream #630959
+       #epatch "${FILESDIR}/${PN}-4.2.0-missing-include-in-keyword_hash-generator.patch"
+
+       # Upstream patch to fix a serious statement rewriting bug, in next release
+       epatch "${FILESDIR}/${PN}-4.99.4-statement-rewriting-fix.patch"
+
+       # Disable broken tests so we can check the others
+       epatch "${FILESDIR}/${PN}-4.99.4-disable-broken-tests.patch"
+
+       # Prevent file collisions with libgda:4
+       epatch "${FILESDIR}/${PN}-4.99.1-gda-browser-help-collision.patch"
+       epatch "${FILESDIR}/${PN}-4.99.1-gda-browser-doc-collision.patch"
+       epatch "${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
+       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
+
+       python_convert_shebangs -r 2 libgda-report/RML/trml2{html,pdf}
+
+       eautoreconf
+       gnome2_src_prepare
+}
+
+src_test() {
+       emake check XDG_DATA_HOME="${T}/.local" || die "tests failed"
+}
+
+pkg_postinst() {
+       gnome2_pkg_postinst
+       local d
+       for d in /usr/share/libgda-5.0/gda_trml2{html,pdf} ; do
+               python_mod_optimize ${d}
+       done
+}
+
+pkg_postrm() {
+       gnome2_pkg_postrm
+       local d
+       for d in /usr/share/libgda-5.0/gda_trml2{html,pdf} ; do
+               python_mod_cleanup ${d}
+       done
+}
index aaa5090824f2e4186bc5c2190c09dc16203c5136..8e73c78908ef40052b4f7fc93c9735dddf46833b 100644 (file)
@@ -8,6 +8,8 @@
        <flag name="introspection">Use <pkg>dev-libs/gobject-introspection</pkg> for
                introspection</flag>
        <flag name="json">Enable support for JSON format</flag>
+       <flag name="mdb">Enable support for Microsoft Access Database using 
+               <pkg>app-office/mdbtools</pkg></flag>
        <flag name="sourceview">Enable support for <pkg>x11-libs/gtksourceview</pkg></flag>
 </use>
 </pkgmetadata>