diff -Naur mdbtools.orig/Makefile mdbtools/Makefile --- mdbtools.orig/Makefile 2013-10-04 07:48:00.000000000 +0200 +++ mdbtools/Makefile 2013-10-13 20:23:02.000000000 +0200 @@ -1,47 +1,64 @@ # Created by: Anders Nordby -# $FreeBSD: head/databases/mdbtools/Makefile 327717 2013-09-20 16:13:47Z bapt $ +# $FreeBSD: head/databases/mdbtools/Makefile 316313 2013-04-23 07:08:32Z bapt $ PORTNAME= mdbtools -PORTVERSION= 0.5 -PORTREVISION= 14 +PORTVERSION= 0.7.1 CATEGORIES= databases -MASTER_SITES= SF +MASTER_SITES= https://github.com/brianb/mdbtools/archive/ +DISTNAME= ${PORTVERSION} -MAINTAINER= ports@FreeBSD.org +MAINTAINER= rhurlin@gwdg.de COMMENT= Utilities and libraries to export data from MS Access databases (.mdb) +LICENSE= GPLv2 + # To build man-pages -BUILD_DEPENDS= gawk:${PORTSDIR}/lang/gawk +BUILD_DEPENDS= gawk:${PORTSDIR}/lang/gawk \ + txt2man:${PORTSDIR}/textproc/txt2man -USES= bison pkgconfig -USE_AUTOTOOLS= libtool +FETCH_ARGS?= -Fpr +USES= bison pkgconfig iconv +USE_AUTOTOOLS= libtool autoconf automake USE_GNOME= glib20 WANT_GNOME= yes GNU_CONFIGURE= yes +CONFIGURE_ARGS+= --enable-sql +CONFIGURE_ARGS+= --with-libiconv-prefix=${LOCALBASE} +CONFIGURE_ARGS+= --with-iodbc=${LOCALBASE} USE_LDCONFIG= yes DOCS= AUTHORS ChangeLog HACKING NEWS README TODO MAN1= mdb-ver.1 mdb-tables.1 mdb-schema.1 mdb-sql.1 mdb-export.1 -NO_STAGE= yes +WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION} + .include .if ${HAVE_GNOME:Mlibgnomeui}!="" USE_XORG= x11 USES+= pathfix -USE_GNOME+= gnomeprefix libgnomeui -PKGNAMESUFFIX= -gnome +USE_GNOME+= gnomeprefix libgnomeui gconf2 intltool +.endif + +.if ${ARCH} == "amd64" || ${ARCH} == "ia64" +CFLAGS+= -fpic .endif post-patch: + @${REINPLACE_CMD} -e \ + 's|(libdir)/pkgconfig|(prefix)/libdata/pkgconfig|g' \ + ${WRKSRC}/Makefile.am @${REINPLACE_CMD} -e 's|$$(srcdir)/$$<|$$(srcdir)/$$>|g' \ - ${WRKSRC}/doc/Makefile.in + ${WRKSRC}/doc/Makefile.am + +pre-configure: + @cd ${WRKSRC} && ${AUTORECONF} -if -.if !defined(NOPORTDOCS) post-install: - @${MKDIR} ${DOCSDIR} +.if ${PORT_OPTIONS:MDOCS} + ${MKDIR} ${STAGEDIR}${DOCSDIR} .for f in ${DOCS} - ${INSTALL_DATA} ${WRKSRC}/${f} ${DOCSDIR} + ${INSTALL_DATA} ${WRKSRC}/${f} ${STAGEDIR}${DOCSDIR} .endfor .endif diff -Naur mdbtools.orig/distinfo mdbtools/distinfo --- mdbtools.orig/distinfo 2013-06-20 17:35:09.000000000 +0200 +++ mdbtools/distinfo 2013-10-13 19:23:31.000000000 +0200 @@ -1,2 +1,2 @@ -SHA256 (mdbtools-0.5.tar.gz) = 7a5db39fecff5ce4fb91e019acf5795b40221aff09bbd6d84f8dec60f017b05d -SIZE (mdbtools-0.5.tar.gz) = 396485 +SHA256 (0.7.1.tar.gz) = dcf310dc7b07e7ad2f9f6be16047dc81312cfe1ab1bd94d0fa739c8059af0b16 +SIZE (0.7.1.tar.gz) = 277257 diff -Naur mdbtools.orig/files/patch-backend.c mdbtools/files/patch-backend.c --- mdbtools.orig/files/patch-backend.c 2013-06-20 17:35:09.000000000 +0200 +++ mdbtools/files/patch-backend.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,11 +0,0 @@ ---- src/libmdb/backend.c Tue Dec 10 18:35:25 2002 -+++ src/libmdb/backend.c Tue Apr 8 16:19:29 2003 -@@ -114,6 +114,5 @@ - { --char buf[100]; -+ static char buf[16]; - if (col_type > 0x10) { -- // return NULL; -- sprintf(buf,"type %04x", col_type); -+ snprintf(buf, sizeof(buf), "type %04x", col_type); - return buf; diff -Naur mdbtools.orig/files/patch-configure mdbtools/files/patch-configure --- mdbtools.orig/files/patch-configure 2013-06-20 17:35:09.000000000 +0200 +++ mdbtools/files/patch-configure 1970-01-01 01:00:00.000000000 +0100 @@ -1,10 +0,0 @@ ---- configure.orig Wed Dec 11 18:31:51 2002 -+++ configure Thu Dec 12 12:07:17 2002 -@@ -7414,6 +7414,7 @@ - - # This can be used to rebuild libtool when needed - LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" -+$ac_aux_dir/ltconfig $LIBTOOL_DEPS - - # Always use our own libtool. - LIBTOOL='$(SHELL) $(top_builddir)/libtool' diff -Naur mdbtools.orig/files/patch-include_mdbsql.h mdbtools/files/patch-include_mdbsql.h --- mdbtools.orig/files/patch-include_mdbsql.h 2013-06-20 17:35:09.000000000 +0200 +++ mdbtools/files/patch-include_mdbsql.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,21 +0,0 @@ ---- include/mdbsql.h.orig Sun Dec 11 18:22:34 2005 -+++ include/mdbsql.h Sun Dec 11 18:23:20 2005 -@@ -6,6 +6,10 @@ - #ifndef _mdbsql_h_ - #define _mdbsql_h_ - -+#ifdef __cplusplus -+extern "C" { -+#endif -+ - typedef struct { - MdbHandle *mdb; - int all_columns; -@@ -59,4 +63,7 @@ - void mdb_sql_listtables(MdbSQL *sql); - void mdb_sql_select(MdbSQL *sql); - -+#ifdef __cplusplus -+} -+#endif - #endif diff -Naur mdbtools.orig/files/patch-include_mdbtools.h mdbtools/files/patch-include_mdbtools.h --- mdbtools.orig/files/patch-include_mdbtools.h 2013-06-20 17:35:09.000000000 +0200 +++ mdbtools/files/patch-include_mdbtools.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,22 +0,0 @@ ---- include/mdbtools.h.orig Sun Dec 11 18:22:42 2005 -+++ include/mdbtools.h Sun Dec 11 18:23:32 2005 -@@ -40,6 +40,10 @@ - #define MDB_MEMO_OVERHEAD 12 - #define MDB_BIND_SIZE 16384 - -+#ifdef __cplusplus -+extern "C" { -+#endif -+ - enum { - MDB_PAGE_DB = 0, - MDB_PAGE_DATA, -@@ -345,4 +349,8 @@ - /* index.c */ - extern GPtrArray *mdb_read_indices(MdbTableDef *table); - extern void mdb_index_dump(MdbTableDef *table, MdbIndex *idx); -+ -+#ifdef __cplusplus -+} -+#endif - #endif /* _mdbtools_h_ */ diff -Naur mdbtools.orig/files/patch-jet4rows mdbtools/files/patch-jet4rows --- mdbtools.orig/files/patch-jet4rows 2013-06-20 17:35:09.000000000 +0200 +++ mdbtools/files/patch-jet4rows 1970-01-01 01:00:00.000000000 +0100 @@ -1,33 +0,0 @@ -This patch was downloaded from SourceForge, to which it was submitted -Matt , who wrote: - - This patch fixes the Jet4 tab_num_rows_offset constant - and changes mdb_read_row so it checks the row number - against the number of rows in the table. - - I have some MDB files for which the normal logic in - mdb_read_row fails. This patch solves the problem. - ---- src/libmdb/data.c 2003-01-12 17:59:43.000000000 -0500 -+++ src/libmdb/data.c 2003-01-23 14:42:57.000000000 -0500 -@@ -171,6 +171,9 @@ - unsigned char null_mask[33]; /* 256 columns max / 8 bits per byte */ - unsigned char isnull; - -+ if (table->num_rows <= row) -+ return 0; -+ - row_start = mdb_get_int16(mdb, (fmt->row_count_offset + 2) + (row*2)); - row_end = mdb_find_end_of_row(mdb, row); - ---- src/libmdb/file.c 2003-01-12 17:59:43.000000000 -0500 -+++ src/libmdb/file.c 2003-01-23 14:43:04.000000000 -0500 -@@ -20,7 +20,7 @@ - #include "mdbtools.h" - - MdbFormatConstants MdbJet4Constants = { -- 4096, 0x0c, 12, 45, 47, 51, 55, 56, 63, 12, 15, 23, 5, 25 -+ 4096, 0x0c, 16, 45, 47, 51, 55, 56, 63, 12, 15, 23, 5, 25 - }; - MdbFormatConstants MdbJet3Constants = { - 2048, 0x08, 12, 25, 27, 31, 35, 36, 43, 8, 13, 16, 1, 18 diff -Naur mdbtools.orig/files/patch-ltmain.sh mdbtools/files/patch-ltmain.sh --- mdbtools.orig/files/patch-ltmain.sh 2013-06-20 17:35:09.000000000 +0200 +++ mdbtools/files/patch-ltmain.sh 1970-01-01 01:00:00.000000000 +0100 @@ -1,12 +0,0 @@ ---- ltmain.sh.orig Thu Jan 4 15:07:04 2007 -+++ ltmain.sh Thu Jan 4 15:07:48 2007 -@@ -1413,6 +1413,9 @@ - esac - fi - for deplib in $libs; do -+ if test "$deplib" = "-pthread"; then -+ continue -+ fi - lib= - found=no - case $deplib in diff -Naur mdbtools.orig/files/patch-src__sql__Makefile.am mdbtools/files/patch-src__sql__Makefile.am --- mdbtools.orig/files/patch-src__sql__Makefile.am 1970-01-01 01:00:00.000000000 +0100 +++ mdbtools/files/patch-src__sql__Makefile.am 2013-10-13 21:15:35.000000000 +0200 @@ -0,0 +1,8 @@ +--- src/sql/Makefile.am.orig 2013-10-13 10:51:24.000000000 +0200 ++++ src/sql/Makefile.am 2013-10-13 21:14:21.000000000 +0200 +@@ -1,3 +1,5 @@ ++BUILT_SOURCES = parser.h ++AM_YFLAGS = -d + lib_LTLIBRARIES = libmdbsql.la + libmdbsql_la_SOURCES= mdbsql.c parser.y lexer.l + libmdbsql_la_LDFLAGS = -version-info 2:0:0 -export-symbols-regex '^mdb_sql_' diff -Naur mdbtools.orig/files/patch-src_gmdb2_debug.c mdbtools/files/patch-src_gmdb2_debug.c --- mdbtools.orig/files/patch-src_gmdb2_debug.c 2013-06-20 17:35:09.000000000 +0200 +++ mdbtools/files/patch-src_gmdb2_debug.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,63 +0,0 @@ ---- src/gmdb2/debug.c.orig Tue Apr 15 12:02:39 2003 -+++ src/gmdb2/debug.c Tue Apr 15 12:05:13 2003 -@@ -354,6 +354,8 @@ - GtkTextIter iter; - GtkTextView *textview; - GtkWidget *entry; -+ GtkWidget *tree; -+ GtkTreeView *store; - char pagestr[20]; - - textview = (GtkTextView *) glade_xml_get_widget (xml, "debug_textview"); -@@ -395,8 +397,8 @@ - gtk_text_buffer_get_iter_at_offset (buffer, &iter, 0); - gtk_text_buffer_insert(buffer,&iter,tbuf,strlen(tbuf)); - -- GtkWidget *tree = glade_xml_get_widget(xml, "debug_treeview"); -- GtkTreeView *store = (GtkTreeView *) gtk_tree_view_get_model(GTK_TREE_VIEW(tree)); -+ tree = glade_xml_get_widget(xml, "debug_treeview"); -+ store = (GtkTreeView *) gtk_tree_view_get_model(GTK_TREE_VIEW(tree)); - - gmdb_debug_dissect(GTK_TREE_STORE(store), fbuf, 0, length); - -@@ -884,6 +886,11 @@ - guint32 page; - GtkWidget *entry, *mi, *button, *debugwin; - gchar text[20]; -+GtkWidget *tree; -+GtkTreeStore *store; -+GtkCellRenderer *renderer; -+GtkTreeViewColumn *column; -+GtkTreeSelection *select; - GladeXML *debugwin_xml; - - /* load the interface */ -@@ -947,11 +954,10 @@ - pango_font_description_from_string("Courier")); - - /* set up treeview, libglade only gives us the empty widget */ -- GtkWidget *tree = glade_xml_get_widget(debugwin_xml, "debug_treeview"); -- GtkTreeStore *store = gtk_tree_store_new(3, G_TYPE_STRING, G_TYPE_INT, G_TYPE_INT); -+ tree = glade_xml_get_widget(debugwin_xml, "debug_treeview"); -+ store = gtk_tree_store_new(3, G_TYPE_STRING, G_TYPE_INT, G_TYPE_INT); - gtk_tree_view_set_model(GTK_TREE_VIEW(tree), GTK_TREE_MODEL(store)); - -- GtkCellRenderer *renderer; - button = glade_xml_get_widget (debugwin_xml, "debug_button"); - g_signal_connect (G_OBJECT (button), "clicked", - G_CALLBACK (gmdb_debug_display_cb), debugwin_xml); -@@ -960,13 +966,12 @@ - gtk_signal_connect (GTK_OBJECT (debugwin), "delete_event", - GTK_SIGNAL_FUNC (gmdb_debug_delete_cb), debugwin_xml); - -- GtkTreeViewColumn *column; - renderer = gtk_cell_renderer_text_new(); - column = gtk_tree_view_column_new_with_attributes("Field", - renderer, "text", 0, NULL); - gtk_tree_view_append_column(GTK_TREE_VIEW (tree), column); - -- GtkTreeSelection *select = -+ select = - gtk_tree_view_get_selection (GTK_TREE_VIEW (tree)); - gtk_tree_selection_set_mode (select, GTK_SELECTION_SINGLE); - g_signal_connect (G_OBJECT (select), "changed", diff -Naur mdbtools.orig/files/patch-src_gmdb2_gmdb.h mdbtools/files/patch-src_gmdb2_gmdb.h --- mdbtools.orig/files/patch-src_gmdb2_gmdb.h 2013-06-20 17:35:09.000000000 +0200 +++ mdbtools/files/patch-src_gmdb2_gmdb.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,13 +0,0 @@ ---- src/gmdb2/gmdb.h.orig Mon Jan 13 04:59:42 2003 -+++ src/gmdb2/gmdb.h Mon Mar 6 11:32:10 2006 -@@ -44,6 +44,10 @@ - void gmdb_debug_tab_new(GtkWidget *notebook); - void gmdb_debug_new_cb(GtkWidget *w, gpointer *data); - -+void gmdb_table_export_populate_dialog(GladeXML *xml); -+void gmdb_sql_save_query(GladeXML *xml, gchar *file_path); -+void gmdb_sql_save_as_cb(GtkWidget *w, GladeXML *xml); -+ - unsigned long gmdb_prefs_get_maxrows(); - - extern GtkWidget *gmdb_prefs_new(); diff -Naur mdbtools.orig/files/patch-src_gmdb2_sql.c mdbtools/files/patch-src_gmdb2_sql.c --- mdbtools.orig/files/patch-src_gmdb2_sql.c 2013-06-20 17:35:09.000000000 +0200 +++ mdbtools/files/patch-src_gmdb2_sql.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,62 +0,0 @@ ---- src/gmdb2/sql.c.orig Tue Apr 15 12:05:45 2003 -+++ src/gmdb2/sql.c Tue Apr 15 12:07:32 2003 -@@ -375,6 +375,7 @@ - GType *gtypes; - GtkTreeIter iter; - GtkTreeViewColumn *column; -+GtkCellRenderer *renderer; - long row, maxrow; - - /* stuff this query on the history */ -@@ -422,7 +423,6 @@ - - gtk_tree_view_set_model(GTK_TREE_VIEW(treeview), GTK_TREE_MODEL(store)); - -- GtkCellRenderer *renderer; - renderer = gtk_cell_renderer_text_new(); - - for (i=0;inum_columns;i++) { -@@ -464,6 +464,12 @@ - GtkWidget *mi, *but, *combo; - GladeXML *sqlwin_xml; - GValue value = {0, }; -+ GtkWidget *tree; -+ GtkTreeStore *store; -+ GtkCellRenderer *renderer; -+ GtkTreeViewColumn *column; -+ GtkTreeSelection *select; -+ GtkWidget *textview; - - /* load the interface */ - sqlwin_xml = glade_xml_new(GMDB_GLADEDIR "gmdb-sql.glade", NULL, NULL); -@@ -537,18 +543,16 @@ - G_CALLBACK (gmdb_sql_execute_cb), sqlwin_xml); - - /* set up treeview, libglade only gives us the empty widget */ -- GtkWidget *tree = glade_xml_get_widget(sqlwin_xml, "sql_treeview"); -- GtkTreeStore *store = gtk_tree_store_new(1, G_TYPE_STRING); -+ tree = glade_xml_get_widget(sqlwin_xml, "sql_treeview"); -+ store = gtk_tree_store_new(1, G_TYPE_STRING); - gtk_tree_view_set_model(GTK_TREE_VIEW(tree), GTK_TREE_MODEL(store)); - -- GtkCellRenderer *renderer; -- GtkTreeViewColumn *column; - renderer = gtk_cell_renderer_text_new(); - column = gtk_tree_view_column_new_with_attributes("Name", - renderer, "text", 0, NULL); - gtk_tree_view_append_column(GTK_TREE_VIEW (tree), column); - -- GtkTreeSelection *select = -+ select = - gtk_tree_view_get_selection (GTK_TREE_VIEW (tree)); - gtk_tree_selection_set_mode (select, GTK_SELECTION_SINGLE); - //g_signal_connect (G_OBJECT (select), "changed", -@@ -557,7 +561,7 @@ - /* populate first level of tree */ - gmdb_sql_tree_populate(mdb, sqlwin_xml); - -- GtkWidget *textview = glade_xml_get_widget(sqlwin_xml, "sql_textview"); -+ textview = glade_xml_get_widget(sqlwin_xml, "sql_textview"); - src.target = "table"; - src.flags = 0; - src.info = 1; diff -Naur mdbtools.orig/files/patch-src_sql_parser.y mdbtools/files/patch-src_sql_parser.y --- mdbtools.orig/files/patch-src_sql_parser.y 2013-06-20 17:35:09.000000000 +0200 +++ mdbtools/files/patch-src_sql_parser.y 1970-01-01 01:00:00.000000000 +0100 @@ -1,10 +0,0 @@ ---- src/sql/parser.y.orig Tue Apr 15 01:26:03 2003 -+++ src/sql/parser.y Tue Apr 15 01:26:08 2003 -@@ -109,6 +109,7 @@ - database: - PATH - | NAME -+ ; - - table: - NAME { mdb_sql_add_table(_mdb_sql(NULL), $1); free($1); } diff -Naur mdbtools.orig/files/patch-write.c mdbtools/files/patch-write.c --- mdbtools.orig/files/patch-write.c 2013-06-20 17:35:09.000000000 +0200 +++ mdbtools/files/patch-write.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,12 +0,0 @@ ---- src/libmdb/write.c Thu Jan 9 15:24:27 2003 -+++ src/libmdb/write.c Tue Apr 8 16:29:38 2003 -@@ -308,3 +308,3 @@ - } -- num_fields = mdb_crack_row(table, row_start, row_end, &fields); -+ num_fields = mdb_crack_row(table, row_start, row_end, fields); - -@@ -324,3 +324,3 @@ - -- new_row_size = mdb_pack_row(table, row_buffer, num_fields, &fields); -+ new_row_size = mdb_pack_row(table, row_buffer, num_fields, fields); - #if MDB_DEBUG_WRITE diff -Naur mdbtools.orig/pkg-descr mdbtools/pkg-descr --- mdbtools.orig/pkg-descr 2013-06-20 17:35:09.000000000 +0200 +++ mdbtools/pkg-descr 2013-07-10 21:23:27.000000000 +0200 @@ -11,3 +11,4 @@ utility. And you can export data out to CSV (comma separated value) format. WWW: http://mdbtools.sourceforge.net/ +WWW: https://github.com/brianb/mdbtools/ diff -Naur mdbtools.orig/pkg-plist mdbtools/pkg-plist --- mdbtools.orig/pkg-plist 2013-06-20 17:35:09.000000000 +0200 +++ mdbtools/pkg-plist 2013-10-13 20:20:36.000000000 +0200 @@ -1,39 +1,41 @@ %%GNOME:%%bin/gmdb2 bin/mdb-array -bin/mdb-dump bin/mdb-export bin/mdb-header +bin/mdb-hexdump bin/mdb-parsecsv +bin/mdb-prop bin/mdb-schema bin/mdb-sql bin/mdb-tables bin/mdb-ver -bin/prcat -bin/prdata -bin/prdump -bin/prindex -bin/prkkd -bin/prole -bin/prtable -bin/updrow %%GNOME:%%include/gmdb.h -include/mdbodbc.h include/mdbsql.h include/mdbtools.h +include/mdbver.h lib/libmdb.a lib/libmdb.la lib/libmdb.so -lib/libmdb.so.0 +lib/libmdb.so.2 +lib/libmdbodbc.a +lib/libmdbodbc.la +lib/libmdbodbc.so +lib/libmdbodbcW.a +lib/libmdbodbcW.la +lib/libmdbodbcW.so lib/libmdbsql.a lib/libmdbsql.la lib/libmdbsql.so -lib/libmdbsql.so.0 +lib/libmdbsql.so.2 +libdata/pkgconfig/libmdb.pc +libdata/pkgconfig/libmdbsql.pc %%PORTDOCS%%%%DOCSDIR%%/AUTHORS %%PORTDOCS%%%%DOCSDIR%%/ChangeLog %%PORTDOCS%%%%DOCSDIR%%/HACKING %%PORTDOCS%%%%DOCSDIR%%/NEWS %%PORTDOCS%%%%DOCSDIR%%/README %%PORTDOCS%%%%DOCSDIR%%/TODO +%%GNOME:%%share/gmdb/glade/COPYING %%GNOME:%%share/gmdb/glade/code.xpm %%GNOME:%%share/gmdb/glade/debug.xpm %%GNOME:%%share/gmdb/glade/form_big.xpm @@ -43,8 +45,8 @@ %%GNOME:%%share/gmdb/glade/gmdb-prefs.glade %%GNOME:%%share/gmdb/glade/gmdb-props.glade %%GNOME:%%share/gmdb/glade/gmdb-schema.glade -%%GNOME:%%share/gmdb/glade/gmdb-sql-file.glade %%GNOME:%%share/gmdb/glade/gmdb-sql.glade +%%GNOME:%%share/gmdb/glade/gmdb-tabledef.glade %%GNOME:%%share/gmdb/glade/gmdb.glade %%GNOME:%%share/gmdb/glade/logo.xpm %%GNOME:%%share/gmdb/glade/macro_big.xpm @@ -59,6 +61,7 @@ %%GNOME:%%share/gmdb/glade/stock_export.png %%GNOME:%%share/gmdb/glade/table.xpm %%GNOME:%%share/gmdb/glade/table_big.xpm +%%GNOME:%%share/gnome/help/gmdb/C/figures/gmdb2_sql_window.png %%GNOME:%%share/gnome/help/gmdb/C/figures/gmdb2_window.png %%GNOME:%%share/gnome/help/gmdb/C/gmdb.xml %%GNOME:%%share/gnome/help/gmdb/C/legal.xml