New release: 1.2.4
authorLeonardo Boshell <leonardop@gentoo.org>
Wed, 17 Jan 2007 07:52:08 +0000 (07:52 +0000)
committerLeonardo Boshell <leonardop@gentoo.org>
Wed, 17 Jan 2007 07:52:08 +0000 (07:52 +0000)
Package-Manager: portage-2.1.1-r2

gnome-extra/libgda/ChangeLog
gnome-extra/libgda/Manifest
gnome-extra/libgda/files/digest-libgda-1.2.4 [new file with mode: 0644]
gnome-extra/libgda/files/libgda-1.2.4-freetds_api_fixes.patch [new file with mode: 0644]
gnome-extra/libgda/libgda-1.2.4.ebuild [new file with mode: 0644]

index 44a509bc42bff01859c4cbce12a5db3ec2998c74..7c3978e530afaf981e019e4eb1e4ab5b26477663 100644 (file)
@@ -1,6 +1,13 @@
 # ChangeLog for gnome-extra/libgda
-# Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/gnome-extra/libgda/ChangeLog,v 1.101 2006/11/23 16:39:12 vivo Exp $
+# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/gnome-extra/libgda/ChangeLog,v 1.102 2007/01/17 07:52:08 leonardop Exp $
+
+*libgda-1.2.4 (17 Jan 2007)
+
+  17 Jan 2007; Leonardo Boshell <leonardop@gentoo.org>
+  +files/libgda-1.2.4-freetds_api_fixes.patch, +libgda-1.2.4.ebuild:
+  New release. Change postgresql dependency for libpq. Use 'sqlite3' flag
+  instead of 'sqlite'. Set WANT_AUTO* variables explicitely.
 
   23 Nov 2006; Francesco Riosa <vivo@gentoo.org> libgda-1.2.3.ebuild:
   dev-db/mysql => virtual/mysql
index c8a70ad07d63ebd0a3030f3e462d28c3eefe27b7..eb37059446f60eea43990a30fb090a46a716825c 100644 (file)
@@ -6,15 +6,24 @@ AUX libgda-1.2.3-mdb_api.patch 1374 RMD160 d7091403baa8b299d815be7e679fb17720d18
 MD5 679610ed8d9053ff2696b3c6571cee22 files/libgda-1.2.3-mdb_api.patch 1374
 RMD160 d7091403baa8b299d815be7e679fb17720d18b29 files/libgda-1.2.3-mdb_api.patch 1374
 SHA256 a65143afb029c72db1038f6577e517377263f9d9281eb583e8bbffe9d1a7e499 files/libgda-1.2.3-mdb_api.patch 1374
+AUX libgda-1.2.4-freetds_api_fixes.patch 14119 RMD160 2c2becec232a74eb9e430288b3e78f70e2294f2c SHA1 125e13af1ffbf03d2f503908a67eb7575fe65dc4 SHA256 cf4dfa78d13f79d698532945ba7a26edc2a256a7b1fa3cdc89eec544d18448ea
+MD5 924b25f623e0e12bc0c1284e8d35cd77 files/libgda-1.2.4-freetds_api_fixes.patch 14119
+RMD160 2c2becec232a74eb9e430288b3e78f70e2294f2c files/libgda-1.2.4-freetds_api_fixes.patch 14119
+SHA256 cf4dfa78d13f79d698532945ba7a26edc2a256a7b1fa3cdc89eec544d18448ea files/libgda-1.2.4-freetds_api_fixes.patch 14119
 DIST libgda-1.2.3.tar.bz2 1075643 RMD160 d429dcce511084287cc63a2d1df93f7ca6d9316c SHA1 a4a7c7835c67987dc846077a3de0512870352ae7 SHA256 17add29bb2d7b57da5874f8a28c1a0af4b6f965ad992fef25002b6c33318f303
+DIST libgda-1.2.4.tar.bz2 1087076 RMD160 83981076ac408fdd4b89f0cb97cb605d5301fcb2 SHA1 a2fefe602a07ca92cfb066492e33d4d1e4733bfc SHA256 d5e700203764e3f8d9ab3573a9b1b0e218778022c7956cf719fa0500b3027930
 EBUILD libgda-1.2.3.ebuild 2100 RMD160 c722e6f9cd800e6acd67210b94361c0aad145dd5 SHA1 aec46fc4c02ab28653e51872ccb333c41259d3af SHA256 cc01d3687e826250ae45a08abf68249f6ab3978b66280cab5b5d0353adac0cc5
 MD5 754bc083bae252f54e1e817ae1c3dbd5 libgda-1.2.3.ebuild 2100
 RMD160 c722e6f9cd800e6acd67210b94361c0aad145dd5 libgda-1.2.3.ebuild 2100
 SHA256 cc01d3687e826250ae45a08abf68249f6ab3978b66280cab5b5d0353adac0cc5 libgda-1.2.3.ebuild 2100
-MISC ChangeLog 15295 RMD160 7962836aa464008875dc08d3160d0d8eb2e97286 SHA1 f6728b816e0fa841f60ee65cd1ce4166d99eca91 SHA256 a74243bd4bee12bd1f37f01a26454fe28c96052155cf3d939f7d3cf86a1dd0b1
-MD5 e1728b234b31636dbc4e688f29e35f6b ChangeLog 15295
-RMD160 7962836aa464008875dc08d3160d0d8eb2e97286 ChangeLog 15295
-SHA256 a74243bd4bee12bd1f37f01a26454fe28c96052155cf3d939f7d3cf86a1dd0b1 ChangeLog 15295
+EBUILD libgda-1.2.4.ebuild 2158 RMD160 089ff414cf20821ea64648fb1d6130ecd5974a1c SHA1 2931c1ced60c3c0e79f3ff47947160d89746c446 SHA256 a4237c54f9efe5fa0186afed6150ec97852fbb192efec00f2980218590e4d7b9
+MD5 f4e37f9106c554c0e3f8666b0b55c206 libgda-1.2.4.ebuild 2158
+RMD160 089ff414cf20821ea64648fb1d6130ecd5974a1c libgda-1.2.4.ebuild 2158
+SHA256 a4237c54f9efe5fa0186afed6150ec97852fbb192efec00f2980218590e4d7b9 libgda-1.2.4.ebuild 2158
+MISC ChangeLog 15589 RMD160 e57b704768cfd7ed024c34505548d6ea58325f0a SHA1 a3113c7d8dc5b426a84d182628089f13bc007983 SHA256 f1d9485450090a7105c092f32585d50185fa20ee15b1121029fbe0b05f4db989
+MD5 2465c12090490d15632e75ffa2831c54 ChangeLog 15589
+RMD160 e57b704768cfd7ed024c34505548d6ea58325f0a ChangeLog 15589
+SHA256 f1d9485450090a7105c092f32585d50185fa20ee15b1121029fbe0b05f4db989 ChangeLog 15589
 MISC metadata.xml 158 RMD160 c0e2bae8e91bb6be8922bac5e4f597302e06587e SHA1 38f78e9790bcd4382b4a49aa226aa6dda1d3a3d7 SHA256 3a7dbca0fdc557de69783e0663e2d76ddab129ea8a19b2d0ef6d3e5d1b947ce1
 MD5 03ad2e6c4ab41244af1015a8bbb0b39f metadata.xml 158
 RMD160 c0e2bae8e91bb6be8922bac5e4f597302e06587e metadata.xml 158
@@ -22,3 +31,6 @@ SHA256 3a7dbca0fdc557de69783e0663e2d76ddab129ea8a19b2d0ef6d3e5d1b947ce1 metadata
 MD5 0585ea86d6d935b35b23b5b574db7c87 files/digest-libgda-1.2.3 244
 RMD160 9fc9ec61243574b939d96986ec33522214d63c01 files/digest-libgda-1.2.3 244
 SHA256 f0c3c9e2af594dd3621ac1914aec3c9695204b2d2bf0ce035931fd31cac4c9f2 files/digest-libgda-1.2.3 244
+MD5 56ba66eb7e457766e1b0c0a6e826157e files/digest-libgda-1.2.4 244
+RMD160 ba54f74fc1e7a82983104c75abda34af94458299 files/digest-libgda-1.2.4 244
+SHA256 f91c0bcfc4271b2751f510cc84fc441e85c410a0f6fd801eec2b14880b1a0cc2 files/digest-libgda-1.2.4 244
diff --git a/gnome-extra/libgda/files/digest-libgda-1.2.4 b/gnome-extra/libgda/files/digest-libgda-1.2.4
new file mode 100644 (file)
index 0000000..3b03af1
--- /dev/null
@@ -0,0 +1,3 @@
+MD5 512a8ed842ce98eb432e69bd6867f437 libgda-1.2.4.tar.bz2 1087076
+RMD160 83981076ac408fdd4b89f0cb97cb605d5301fcb2 libgda-1.2.4.tar.bz2 1087076
+SHA256 d5e700203764e3f8d9ab3573a9b1b0e218778022c7956cf719fa0500b3027930 libgda-1.2.4.tar.bz2 1087076
diff --git a/gnome-extra/libgda/files/libgda-1.2.4-freetds_api_fixes.patch b/gnome-extra/libgda/files/libgda-1.2.4-freetds_api_fixes.patch
new file mode 100644 (file)
index 0000000..9ffe011
--- /dev/null
@@ -0,0 +1,370 @@
+diff -NurdB libgda-1.2.4/configure.in libgda-1.2.4-patched/configure.in
+--- libgda-1.2.4/configure.in  2007-01-09 07:51:03.000000000 -0500
++++ libgda-1.2.4-patched/configure.in  2007-01-16 23:38:28.000000000 -0500
+@@ -440,45 +440,23 @@
+               AC_MSG_WARN(tds backend not used)
+       else
+               AC_MSG_CHECKING(for freetds version)
+-              freetdsvercheck="`grep \"^#define \(VERSION_NO \|TDS_VERSION_NO \)\" $freetds_incdir/tdsver.h|sed 's|^.*"\(.*\)"|\1|'`"
++              freetdsvercheck="`grep \"^#define \(VERSION_NO \|TDS_VERSION_NO \)\" $freetds_incdir/tdsver.h|sed 's|^.*".*v\(.*\)"|\1|'`"
+               if test "x$freetdsvercheck" = "x"
+               then
+                       AC_MSG_WARN(freetds version check failed - backend not used)
+                       freetdsdir=""
+                       freetds_incdir=""
+               else
+-                      case "$freetdsvercheck" in
+-                              *v0.5*) AC_MSG_RESULT($freetdsvercheck - using v0.5x api)
+-                                      AC_DEFINE(HAVE_FREETDS_VER0_5X, 1, [Have freetds v0.5x API])
+-                                      FREETDS_CFLAGS="-I${freetds_incdir}"
+-                                      FREETDS_LIBS="-L${freetdsdir}/lib -ltds"
+-                                      AC_DEFINE(HAVE_FREETDS, 1, [Have freetds])
+-                                      ;;
+-                              *v0.60) AC_MSG_RESULT($freetdsvercheck - using v0.60 api)
+-                                      AC_DEFINE(HAVE_FREETDS_VER0_60, 1, [Have freetds v0.60 API])
+-                                      FREETDS_CFLAGS="-I${freetds_incdir}"
+-                                      FREETDS_LIBS="-L${freetdsdir}/lib -ltds"
+-                                      AC_DEFINE(HAVE_FREETDS, 1, [Have freetds])
+-                                      ;;
+-                              *v0.6[[3-9]]*) AC_MSG_RESULT($freetdsvercheck - using v0.63 api)
+-                                      AC_DEFINE(HAVE_FREETDS_VER0_63, 1, [Have freetds v0.63 API])
+-                                      AC_DEFINE(HAVE_FREETDS_VER0_6X, 1, [Have freetds v0.6x API])
+-                                      FREETDS_CFLAGS="-I${freetds_incdir}"
+-                                      FREETDS_LIBS="-L${freetdsdir}/lib -ltds"
+-                                      AC_DEFINE(HAVE_FREETDS, 1, [Have freetds])
+-                                      ;;
+-                              *v0.6*) AC_MSG_RESULT($freetdsvercheck - using v0.6x api)
+-                                      AC_DEFINE(HAVE_FREETDS_VER0_6X, 1, [Have freetds v0.6x API])
+-                                      FREETDS_CFLAGS="-I${freetds_incdir}"
+-                                      FREETDS_LIBS="-L${freetdsdir}/lib -ltds"
+-                                      AC_DEFINE(HAVE_FREETDS, 1, [Have freetds])
+-                                      ;;
+-                              *)      AC_MSG_WARN($freetdsvercheck not supported - backend not used)
+-                                      freetdsdir=""
+-                                      freetds_incdir=""
+-                                      ;;
+-                      esac
+-                                      
++                      AC_MSG_RESULT($freetdsvercheck)
++                      FREETDS_CFLAGS="-I${freetds_incdir}"
++                      FREETDS_LIBS="-L${freetdsdir}/lib -ltds"
++                      AC_DEFINE(HAVE_FREETDS, 1, [Have freetds])
++
++                      freetds_version_major="`echo $freetdsvercheck|sed 's:^\([[^.]]*\).*:\1:'`"
++                      freetds_version_minor="`echo $freetdsvercheck|sed 's:^[[^.]]*\.\([[^.]]*\).*:\1:'`"
++
++                      AC_DEFINE_UNQUOTED(FREETDS_VERSION_MAJOR, [$freetds_version_major])
++                      AC_DEFINE_UNQUOTED(FREETDS_VERSION_MINOR, [$freetds_version_minor])
+               fi      
+       fi
+ fi
+diff -NurdB libgda-1.2.4/providers/freetds/gda-freetds-provider.c libgda-1.2.4-patched/providers/freetds/gda-freetds-provider.c
+--- libgda-1.2.4/providers/freetds/gda-freetds-provider.c      2007-01-09 07:50:54.000000000 -0500
++++ libgda-1.2.4-patched/providers/freetds/gda-freetds-provider.c      2007-01-16 23:52:17.000000000 -0500
+@@ -103,7 +103,7 @@
+                                                      const gint col,
+                                                      const gint row);
+-#ifdef HAVE_FREETDS_VER0_5X
++#if FREETDS_VERSION < 6000
+   static gboolean tds_cbs_initialized = FALSE;
+   extern int (*g_tds_msg_handler)();
+   extern int (*g_tds_err_handler)();
+@@ -116,7 +116,7 @@
+ static int gda_freetds_provider_tds_handle_message (void *aStruct,
+                                                   void *bStruct,
+                                                     const gboolean is_err_msg);
+-#if defined(HAVE_FREETDS_VER0_6X) || defined(HAVE_FREETDS_VER0_60)
++#if FREETDS_VERSION >= 6000
+   static int gda_freetds_provider_tds_handle_info_msg (TDSCONTEXT *,
+                                                        TDSSOCKET *,
+                                                        TDSMSGINFO *);
+@@ -252,8 +252,12 @@
+       tds_set_packet(tds_cnc->login, 512);
+       /* Version 0.60 api uses context additionaly */
+-#if defined(HAVE_FREETDS_VER0_6X) || defined(HAVE_FREETDS_VER0_60)
++#if FREETDS_VERSION >= 6000
++#if FREETDS_VERSION >= 6400
++      tds_cnc->ctx = tds_alloc_context(NULL);
++#else
+       tds_cnc->ctx = tds_alloc_context();
++#endif
+       if (! tds_cnc->ctx) {
+               gda_log_error (_("Allocating tds context failed."));
+               gda_freetds_free_connection_data (tds_cnc);
+@@ -267,9 +271,9 @@
+ #endif
+       /* establish connection; change in 0.6x api */
+-#if defined(HAVE_FREETDS_VER0_60)
++#if FREETDS_VERSION == 6000
+       tds_cnc->tds = tds_connect(tds_cnc->login, tds_cnc->ctx, NULL);
+-#elif defined(HAVE_FREETDS_VER0_6X)
++#elif FREETDS_VERSION > 6000
+       tds_cnc->tds = tds_alloc_socket(tds_cnc->ctx, 512);
+       if (! tds_cnc->tds) {
+               gda_log_error (_("Allocating tds socket failed."));
+@@ -297,9 +301,9 @@
+       }
+       /* try to receive connection info for sanity check */
+-#if defined(HAVE_FREETDS_VER0_6X)
++#if FREETDS_VERSION > 6000
+       /* do nothing */
+-#elif defined(HAVE_FREETDS_VER0_60)
++#elif FREETDS_VERSION == 6000
+       tds_cnc->config = tds_get_config(tds_cnc->tds, tds_cnc->login, tds_cnc->ctx->locale);
+ #else
+       tds_cnc->config = tds_get_config(tds_cnc->tds, tds_cnc->login);
+@@ -357,9 +361,9 @@
+               tds_cnc->database = NULL;
+       }
+       if (tds_cnc->config) {
+-#ifdef HAVE_FREETDS_VER0_63
++#if FREETDS_VERSION >= 6300
+               tds_free_connection (tds_cnc->config);
+-#elif defined(HAVE_FREETDS_VER0_6X)
++#elif FREETDS_VERSION > 6000
+               tds_free_connect (tds_cnc->config);
+ #else
+               tds_free_config(tds_cnc->config);
+@@ -372,7 +376,7 @@
+               tds_free_socket (tds_cnc->tds);
+               tds_cnc->tds = NULL;
+       }
+-#if defined(HAVE_FREETDS_VER0_6X) || defined(HAVE_FREETDS_VER0_60)
++#if FREETDS_VERSION >= 6000
+       if (tds_cnc->ctx) {
+               /* Clear callback handler */
+               tds_cnc->ctx->msg_handler = NULL;
+@@ -784,7 +788,7 @@
+ {
+       GdaFreeTDSConnectionData *tds_cnc;
+       GdaError *error;
+-#ifdef HAVE_FREETDS_VER0_6X
++#if FREETDS_VERSION > 6000
+       int result_type = 0;
+ #endif
+@@ -804,9 +808,11 @@
+       }
+       /* there should not be any result tokens */
+-#if defined(HAVE_FREETDS_VER0_63)
++#if FREETDS_VERSION >= 6400
++      while ((tds_cnc->rc = tds_process_tokens (tds_cnc->tds, &tds_cnc->result_type, NULL, TDS_RETURN_ROWFMT | TDS_RETURN_COMPUTEFMT | TDS_RETURN_DONE | TDS_STOPAT_ROW | TDS_STOPAT_COMPUTE | TDS_RETURN_PROC))
++#elif FREETDS_VERSION >= 6200
+       while ((tds_cnc->rc = tds_process_result_tokens (tds_cnc->tds, &tds_cnc->result_type, NULL))
+-#elif defined(HAVE_FREETDS_VER0_6X)
++#elif FREETDS_VERSION > 6000
+       while ((tds_cnc->rc = tds_process_result_tokens (tds_cnc->tds, &tds_cnc->result_type))
+ #else
+       while ((tds_cnc->rc = tds_process_result_tokens (tds_cnc->tds)) 
+@@ -1006,7 +1012,7 @@
+       provider_class->supports = gda_freetds_provider_supports;
+       provider_class->get_schema = gda_freetds_provider_get_schema;
+-#ifdef HAVE_FREETDS_VER0_5X
++#if FREETDS_VERSION < 6000
+       if (tds_cbs_initialized == FALSE) {
+               tds_cbs_initialized = TRUE;
+@@ -1029,7 +1035,7 @@
+       g_return_if_fail (GDA_IS_FREETDS_PROVIDER (provider));
+-#ifdef HAVE_FREETDS_VER0_5X
++#if FREETDS_VERSION < 6000
+       tds_cbs_initialized = FALSE;
+       g_tds_msg_handler = NULL;
+       g_tds_err_handler = NULL;
+@@ -1062,9 +1068,15 @@
+                             TDS_SUCCEED);
+       msg = g_strdup_printf(_("Msg %d, Level %d, State %d, Server %s, Line %d\n%s\n"),
++#if FREETDS_VERSION >= 6400
++                            msg_info->msgno,
++                            msg_info->severity,
++                            msg_info->state,
++#else
+                             msg_info->msg_number,
+                             msg_info->msg_level,
+                             msg_info->msg_state,
++#endif
+                             (msg_info->server ? msg_info->server : ""),
+                             msg_info->line_number,
+                             msg_info->message ? msg_info->message : "");
+@@ -1074,7 +1086,11 @@
+               if (cnc != NULL) {
+                       error = gda_error_new ();
+                       gda_error_set_description (error, msg);
++#if FREETDS_VERSION >= 6400
++                      gda_error_set_number (error, msg_info->msgno);
++#else
+                       gda_error_set_number (error, msg_info->msg_number);
++#endif
+                       gda_error_set_source (error, "gda-freetds");
+                       if (msg_info->sql_state != NULL) {
+                               gda_error_set_sqlstate (error,
+@@ -1099,14 +1115,14 @@
+       return TDS_SUCCEED;
+ }
+-#if defined(HAVE_FREETDS_VER0_6X) || defined(HAVE_FREETDS_VER0_60)
++#if FREETDS_VERSION >= 6000
+ /* FIXME: rewrite tds_handle_message as well/use new parameters here */
+ static int
+ gda_freetds_provider_tds_handle_info_msg (TDSCONTEXT *ctx, TDSSOCKET *tds,
+                                           TDSMSGINFO *msg)
+ {
+       return gda_freetds_provider_tds_handle_message ((void *) tds,
+-#ifdef HAVE_FREETDS_VER0_6X
++#if FREETDS_VERSION > 6000
+                                                       (void *) msg,
+ #else
+                                                       (void *) tds->msg_info,
+@@ -1121,14 +1137,14 @@
+ }
+ #endif
+-#if defined(HAVE_FREETDS_VER0_6X) || defined(HAVE_FREETDS_VER0_60)
++#if FREETDS_VERSION >= 6000
+ /* FIXME: rewrite tds_handle_message as well/use new parameters here */
+ static int
+ gda_freetds_provider_tds_handle_err_msg (TDSCONTEXT *ctx, TDSSOCKET *tds,
+                                          TDSMSGINFO *msg)
+ {
+       return gda_freetds_provider_tds_handle_message ((void *) tds,
+-#ifdef HAVE_FREETDS_VER0_6X
++#if FREETDS_VERSION > 6000
+                                                       (void *) msg,
+ #else
+                                                       (void *) tds->msg_info,
+diff -NurdB libgda-1.2.4/providers/freetds/gda-freetds-provider.h libgda-1.2.4-patched/providers/freetds/gda-freetds-provider.h
+--- libgda-1.2.4/providers/freetds/gda-freetds-provider.h      2007-01-09 07:50:54.000000000 -0500
++++ libgda-1.2.4-patched/providers/freetds/gda-freetds-provider.h      2007-01-16 23:38:28.000000000 -0500
+@@ -30,14 +30,16 @@
+ G_BEGIN_DECLS
++#define FREETDS_VERSION  (10000*FREETDS_VERSION_MAJOR+100*FREETDS_VERSION_MINOR)
++
+ /* Compatibility macros */
+-#ifdef HAVE_FREETDS_VER0_63
++#if FREETDS_VERSION >= 6300
+ #define TDSCONNECTINFO TDSCONNECTION
+ #define TDSCOLINFO     TDSCOLUMN
+ #define TDSMSGINFO     TDSMESSAGE
+-#endif  /* HAVE_FREETDS_VER0_63 */
++#endif  /* FREETDS_VERSION >= 6300 */
+ #define GDA_TYPE_FREETDS_PROVIDER            (gda_freetds_provider_get_type())
+ #define GDA_FREETDS_PROVIDER(obj)            (G_TYPE_CHECK_INSTANCE_CAST (obj, GDA_TYPE_FREETDS_PROVIDER, GdaFreeTDSProvider))
+@@ -68,11 +70,11 @@
+       gchar          *database;  /* database we are connected to */
+       
+       TDSLOGIN       *login;     /* tds login struct */
+-#if defined(HAVE_FREETDS_VER0_6X) || defined(HAVE_FREETDS_VER0_60)
++#if FREETDS_VERSION >= 6000
+       TDSCONTEXT     *ctx;       /* tds context */
+ #endif
+       TDSSOCKET      *tds;       /* connection handle */
+-#ifdef HAVE_FREETDS_VER0_6X
++#if FREETDS_VERSION > 6000
+       TDSCONNECTINFO *config;    /* tds connect struct */
+ #else
+       TDSCONFIGINFO  *config;     /* tds config struct */
+diff -NurdB libgda-1.2.4/providers/freetds/gda-freetds-recordset.c libgda-1.2.4-patched/providers/freetds/gda-freetds-recordset.c
+--- libgda-1.2.4/providers/freetds/gda-freetds-recordset.c     2007-01-09 07:50:54.000000000 -0500
++++ libgda-1.2.4-patched/providers/freetds/gda-freetds-recordset.c     2007-01-17 00:53:55.000000000 -0500
+@@ -279,7 +279,7 @@
+               
+               /* set pointers to NULL */
+               copy->column_nullbind = NULL;
+-#ifdef HAVE_FREETDS_VER0_6X
++#if FREETDS_VERSION > 6000
+               copy->column_varaddr = NULL;
+ #else
+               copy->varaddr = NULL;
+@@ -339,7 +339,17 @@
+       recset->priv->tds_cnc = tds_cnc;
+       recset->priv->res = tds_cnc->tds->res_info;
+-#ifdef HAVE_FREETDS_VER0_63
++#if FREETDS_VERSION >= 6400
++      while ((tds_cnc->rc = tds_process_tokens (tds_cnc->tds,
++              &tds_cnc->result_type, NULL, TDS_RETURN_ROWFMT |
++              TDS_RETURN_COMPUTEFMT | TDS_RETURN_DONE | TDS_STOPAT_ROW |
++              TDS_STOPAT_COMPUTE | TDS_RETURN_PROC))
++              == TDS_SUCCEED) {
++               if (tds_cnc->result_type == TDS_ROW_RESULT) {
++                       gint row_type, compute_id;
++
++                       while ((tds_cnc->rc = tds_process_row_tokens(tds_cnc->tds, &row_type, &compute_id))
++#elif FREETDS_VERSION >= 6200
+        while ((tds_cnc->rc = tds_process_result_tokens (tds_cnc->tds,
+                                                 &tds_cnc->result_type, NULL))
+               == TDS_SUCCEED) {
+@@ -347,7 +357,7 @@
+                        gint row_type, compute_id;
+                        while ((tds_cnc->rc = tds_process_row_tokens(tds_cnc->tds, &row_type, &compute_id))
+-#elif defined(HAVE_FREETDS_VER0_6X)
++#elif FREETDS_VERSION > 6000
+       while ((tds_cnc->rc = tds_process_result_tokens (tds_cnc->tds,
+                                                        &tds_cnc->result_type))
+              == TDS_SUCCEED) {
+@@ -386,7 +396,11 @@
+                               g_object_unref (recset);
+                               recset = NULL;
+                               return NULL;
++#if FREETDS_VERSION >= 6400
++                      } else if (tds_cnc->rc != TDS_NO_MORE_RESULTS) {
++#else
+                       } else if (tds_cnc->rc != TDS_NO_MORE_ROWS) {
++#endif
+                               error = gda_freetds_make_error(tds_cnc->tds,
+                                                              _("Unexpected freetds return code in tds_process_row_tokens().\n"));
+                               gda_connection_add_error (cnc, error);
+diff -NurdB libgda-1.2.4/providers/freetds/gda-freetds-types.c libgda-1.2.4-patched/providers/freetds/gda-freetds-types.c
+--- libgda-1.2.4/providers/freetds/gda-freetds-types.c 2007-01-09 07:50:54.000000000 -0500
++++ libgda-1.2.4-patched/providers/freetds/gda-freetds-types.c 2007-01-16 23:38:28.000000000 -0500
+@@ -191,7 +191,7 @@
+       const TDS_INT max_size = 255;
+       TDS_INT col_size = 0;
+       gchar *txt = NULL;
+-#ifdef HAVE_FREETDS_VER0_6X
++#if FREETDS_VERSION > 6000
+       CONV_RESULT tds_conv;
+ #endif
+       GdaNumeric numeric;
+@@ -202,7 +202,7 @@
+       /* perhaps remove ifdef later on
+        * tds_cnc is just needed for context structure of 0.6x api for now
+        */
+-#ifdef HAVE_FREETDS_VER0_6X
++#if FREETDS_VERSION > 6000
+       g_return_if_fail (tds_cnc != NULL);
+       g_return_if_fail (tds_cnc->ctx != NULL);
+@@ -309,7 +309,7 @@
+                               txt = g_new0 (gchar, col_size);
+                               /* tds_convert api changed to 0.6x */
+-#ifdef HAVE_FREETDS_VER0_6X
++#if FREETDS_VERSION > 6000
+                               if (tds_convert (tds_cnc->ctx,
+                                                col->column_type, val,
+                                                col->column_size, SYBCHAR,
+@@ -319,7 +319,7 @@
+                                       gda_value_set_string (field, 
+                                               (tds_conv.c ? tds_conv.c : (tds_conv.ib ? tds_conv.ib : "")));
+                               }
+-#elif HAVE_FREETDS_VER0_60
++#elif FREETDS_VERSION == 6000
+                               tds_convert (tds_cnc->ctx, 
+                                            col->column_type, val,
+                                            col->column_size, SYBCHAR,
diff --git a/gnome-extra/libgda/libgda-1.2.4.ebuild b/gnome-extra/libgda/libgda-1.2.4.ebuild
new file mode 100644 (file)
index 0000000..3deded1
--- /dev/null
@@ -0,0 +1,77 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/gnome-extra/libgda/libgda-1.2.4.ebuild,v 1.1 2007/01/17 07:52:08 leonardop Exp $
+
+WANT_AUTOMAKE="1.9"
+WANT_AUTOCONF="2.5"
+
+inherit autotools eutils gnome2
+
+DESCRIPTION="Gnome Database Access Library"
+HOMEPAGE="http://www.gnome-db.org/"
+LICENSE="GPL-2 LGPL-2"
+
+IUSE="berkdb doc firebird freetds ldap mdb mysql oci8 odbc postgres sqlite3 xbase"
+SLOT="1"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+
+RDEPEND=">=dev-libs/glib-2
+       >=dev-libs/libxml2-2
+       >=dev-libs/libxslt-1.0.9
+       sys-libs/readline
+       sys-libs/ncurses
+       dev-libs/popt
+       berkdb? ( sys-libs/db )
+       odbc? ( >=dev-db/unixODBC-2.0.6 )
+       mysql? ( virtual/mysql )
+       postgres? ( >=dev-db/libpq-7.2.1 )
+       freetds? ( >=dev-db/freetds-0.62 )
+       x86? ( firebird? ( dev-db/firebird ) )
+       xbase? ( dev-db/xbase )
+       sqlite3? ( >=dev-db/sqlite-3 )
+       mdb? ( >=app-office/mdbtools-0.5 )
+       ldap? ( >=net-nds/openldap-2.0.25 )"
+
+DEPEND="${RDEPEND}
+       >=dev-util/pkgconfig-0.9
+       >=dev-util/intltool-0.30
+       app-text/scrollkeeper
+       doc? ( >=dev-util/gtk-doc-1 )"
+
+DOCS="AUTHORS ChangeLog NEWS README"
+USE_DESTDIR="1"
+
+# problems with parallel builds
+MAKEOPTS="${MAKEOPTS} -j1"
+
+
+pkg_setup() {
+       G2CONF="$(use_with berkdb bdb /usr)    \
+               $(use_with firebird firebird /usr) \
+               $(use_with freetds tds /usr)       \
+               $(use_with ldap ldap /usr)         \
+               $(use_with mdb mdb /usr)           \
+               $(use_with mysql mysql /usr)       \
+               $(use_with odbc odbc /usr)         \
+               $(use_with postgres postgres /usr) \
+               $(use_with sqlite3 sqlite /usr)     \
+               $(use_with xbase xbase /usr)"
+
+       use oci8 || G2CONF="${G2CONF} --without-oracle"
+
+       # not in portage
+       G2CONF="${G2CONF} --without-msql --without-sybase --without-ibmdb2"
+}
+
+src_unpack() {
+       gnome2_src_unpack
+
+       # Fix freetds API problems
+       epatch "${FILESDIR}"/${P}-freetds_api_fixes.patch
+       # Fix compilation of the mdb provider
+       epatch "${FILESDIR}"/${PN}-1.2.3-mdb_api.patch
+
+       sed -n -e '/GTK_DOC_CHECK/,/IT_PROG_INTLTOOL/p' aclocal.m4 > gtk-doc.m4
+       intltoolize --automake -c -f || die "intltoolize failed"
+       AT_M4DIR="." eautoreconf
+}