From f0df599877f7670180efa37f6c75d91247418ceb Mon Sep 17 00:00:00 2001 From: Vincent Batts Date: Sat, 16 Jul 2011 13:32:19 -0300 Subject: business/gnucash: Updated for version 2.4.5. Signed-off-by: Niels Horn --- business/gnucash/README | 16 ++- business/gnucash/doinst.sh | 9 ++ business/gnucash/gnucash.SlackBuild | 70 +++++++++----- business/gnucash/gnucash.info | 8 +- business/gnucash/gnucash_goffice.patch | 172 --------------------------------- 5 files changed, 72 insertions(+), 203 deletions(-) create mode 100644 business/gnucash/doinst.sh delete mode 100644 business/gnucash/gnucash_goffice.patch (limited to 'business') diff --git a/business/gnucash/README b/business/gnucash/README index b97f84f9ec..81910612f4 100644 --- a/business/gnucash/README +++ b/business/gnucash/README @@ -1,9 +1,17 @@ GNUCash is opensource accounting software. -This requires slib, libofx, ORBit2, GConf, libtasn1, gnome-keyring, -gnome-mime-data, libbonobo, gnome-vfs, libgnomecanvas, libgnome, libbonoboui, -libgnomeui, libgnomecups, libgnomeprint, libgnomeprintui, gtkhtml, and goffice. +This requires the following additional software, and it is suggested +that you build them in this order: -aqbanking is optional, but it's not available at SlackBuilds.org. + slib libofx ORBit2 GConf libtasn1 gnome-keyring gnome-mime-data libbonobo + gnome-vfs libgnomecanvas libgnome libbonoboui libgnomeui libgnomecups + libgnomeprint libgnomeprintui gtkhtml goffice Building the deps in the order listed above should give the desired results. + +if you want the new webkit report rendering integration, you must +first have webkit installed, and then pass the WEBKIT=true flag. + +if you want the new SQL database integration, you must first have libdbi +and libdbi-drivers installed, and then pass the DBI=true flag. + diff --git a/business/gnucash/doinst.sh b/business/gnucash/doinst.sh new file mode 100644 index 0000000000..3e5691a052 --- /dev/null +++ b/business/gnucash/doinst.sh @@ -0,0 +1,9 @@ +if [ -x /usr/bin/update-desktop-database ]; then + /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 +fi + +if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then + if [ -x /usr/bin/gtk-update-icon-cache ]; then + /usr/bin/gtk-update-icon-cache usr/share/icons/hicolor >/dev/null 2>&1 + fi +fi diff --git a/business/gnucash/gnucash.SlackBuild b/business/gnucash/gnucash.SlackBuild index af50c2a990..8b597ffda0 100644 --- a/business/gnucash/gnucash.SlackBuild +++ b/business/gnucash/gnucash.SlackBuild @@ -2,7 +2,7 @@ # Slackware build script for gnucash -# Copyright 2008 Vincent Batts, vbatts@hashbangbash.com, http://hashbangbash.com/ +# Copyright 2008,2009,2010,2011 Vincent Batts, vbatts@hashbangbash.com, http://hashbangbash.com/ # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -23,8 +23,8 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=gnucash -VERSION=2.2.9 -BUILD=${BUILD:-2} +VERSION=2.4.5 +BUILD=${BUILD:-1} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then @@ -40,6 +40,10 @@ TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} +DBI=${DBI:-false} +WEBKIT=${WEBKIT:-false} +OPT_ARGS="" + if [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mtune=i686" LIBDIRSUFFIX="" @@ -49,11 +53,30 @@ elif [ "$ARCH" = "i686" ]; then elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2 -fPIC" LIBDIRSUFFIX="64" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "arm" ]; then + SLKCFLAGS="-O2 -march=armv4t" + LIBDIRSUFFIX="" else SLKCFLAGS="-O2" LIBDIRSUFFIX="" fi +if [ ! "$DBI" = "false" ] ; then + OPT_ARGS="--enable-dbi --with-dbi-dbd-dir=/usr/lib${LIBDIRSUFFIX}/dbd/" + echo $0 : building with dbi enabled + sleep 0.5 +else + OPT_ARGS="--disable-dbi" +fi +if [ ! "$WEBKIT" = "false" ] ; then + OPT_ARGS="$OPT_ARGS --enable-webkit --with-html-engine=webkit" + echo $0 : building with webkit enabled + sleep 0.5 +fi + set -e rm -rf $PKG @@ -69,9 +92,6 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; -# Patch for new goffice API -patch -p1 < $CWD/gnucash_goffice.patch - CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ @@ -82,10 +102,10 @@ CXXFLAGS="$SLKCFLAGS" \ --infodir=/usr/info \ --mandir=/usr/man \ --docdir=/usr/doc/$PRGNAM-$VERSION \ + --enable-python-bindings \ --enable-ofx \ --disable-aqbanking \ - --disable-sql \ - --disable-static \ + $OPT_ARGS \ --build=$ARCH-slackware-linux make @@ -112,26 +132,30 @@ cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc - -# Handle the schemas and such (hopefully) properly -GCONF_CONFIG_SOURCE="xml::etc/gconf/gconf.xml.defaults" -for RAWNAME in $(find $PKG/etc/gconf/schemas -name "*.schemas") ; do - SCHEMA=$(basename $RAWNAME) - cat << EOF >> $PKG/install/doinst.sh -GCONF_CONFIG_SOURCE="xml::etc/gconf/gconf.xml.defaults" \ -chroot . gconftool-2 --makefile-install-rule /etc/gconf/schemas/$SCHEMA 1>/dev/null -EOF +cat $CWD/doinst.sh > $PKG/install/doinst.sh + +# handle the schemas and such (hopefully) properly +export GCONF_CONFIG_SOURCE="xml::etc/gconf/gconf.xml.defaults" +for rawname in $(find $PKG/etc/gconf/schemas -name "*.schemas") ; do + schema=$(basename $rawname) + cat << eof >> $PKG/install/doinst.sh +GCONF_CONFIG_SOURCE="${GCONF_CONFIG_SOURCE}" \ +chroot . gconftool-2 \ + --config-source=$GCONF_CONFIG_SOURCE \ + --makefile-install-rule /etc/gconf/schemas/$schema 1>/dev/null +eof done -for RAWNAME in $(find $PKG/etc/gconf/schemas -name "*.entries") ; do - ENTRY=$(basename $RAWNAME) - cat << EOF >> $PKG/install/doinst.sh -GCONF_CONFIG_SOURCE="xml::etc/gconf/gconf.xml.defaults" \ +for rawname in $(find $PKG/etc/gconf/schemas -name "*.entries") ; do + entry=$(basename $rawname) + cat << eof >> $PKG/install/doinst.sh +GCONF_CONFIG_SOURCE="${GCONF_CONFIG_SOURCE}" \ chroot . gconftool-2 --direct \ --config-source=$GCONF_CONFIG_SOURCE \ - --load /etc/gconf/schemas/$ENTRY 1>/dev/null -EOF + --load /etc/gconf/schemas/$entry 1>/dev/null +eof done unset GCONF_CONFIG_SOURCE cd $PKG /sbin/makepkg -p -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} + diff --git a/business/gnucash/gnucash.info b/business/gnucash/gnucash.info index 42b8272126..f50f2a3508 100644 --- a/business/gnucash/gnucash.info +++ b/business/gnucash/gnucash.info @@ -1,10 +1,10 @@ PRGNAM="gnucash" -VERSION="2.2.9" +VERSION="2.4.5" HOMEPAGE="http://www.gnucash.org/" -DOWNLOAD="http://downloads.sourceforge.net/gnucash/gnucash-2.2.9.tar.bz2" +DOWNLOAD="http://downloads.sourceforge.net/sourceforge/gnucash/gnucash-2.4.5.tar.bz2" +MD5SUM="94168fe959743fc342812ac3a01814a1" DOWNLOAD_x86_64="" -MD5SUM="1d814de8673b4760045bf51b72924d04" MD5SUM_x86_64="" MAINTAINER="Vincent Batts" EMAIL="vbatts@hashbangbash.com" -APPROVED="rworkman" +APPROVED="Niels Horn" diff --git a/business/gnucash/gnucash_goffice.patch b/business/gnucash/gnucash_goffice.patch deleted file mode 100644 index 346410a703..0000000000 --- a/business/gnucash/gnucash_goffice.patch +++ /dev/null @@ -1,172 +0,0 @@ -diff -Naur gnucash-2.2.9.orig//src/gnome-utils/gnc-html-graph-gog.c gnucash-2.2.9//src/gnome-utils/gnc-html-graph-gog.c ---- gnucash-2.2.9.orig//src/gnome-utils/gnc-html-graph-gog.c 2008-01-07 20:06:26.000000000 -0500 -+++ gnucash-2.2.9//src/gnome-utils/gnc-html-graph-gog.c 2010-06-30 08:42:43.009625615 -0400 -@@ -46,13 +46,31 @@ - #ifndef GTKHTML_USES_GTKPRINT - # include - #endif --#include -+/* everything inside the following #ifndef can be safely removed when gnucash -+requires libgoffice >= 0.7.5, the contents of the #else block must stay. */ -+#ifndef GOG_TYPE_GRAPH -+# define GOG_TYPE_GRAPH GOG_GRAPH_TYPE -+# define GO_TYPE_PLUGIN_LOADER_MODULE GO_PLUGIN_LOADER_MODULE_TYPE -+# define GOG_TYPE_RENDERER GOG_RENDERER_TYPE -+# include -+# define GOStyle GogStyle -+# define go_styled_object_get_style gog_styled_object_get_style -+# define GO_STYLED_OBJECT GOG_STYLED_OBJECT -+# define GO_STYLE_FILL_PATTERN GOG_FILL_STYLE_PATTERN -+# define go_style_set_text_angle gog_style_set_text_angle -+#else -+# include -+# include -+#endif -+ - #include - #include - #include -+#include -+#include -+#include - #include - #include --#include - #include - #include - #include -@@ -98,7 +116,7 @@ - libgoffice_init(); - - /* Initialize plugins manager */ -- go_plugins_init (NULL, NULL, NULL, NULL, TRUE, GO_PLUGIN_LOADER_MODULE_TYPE); -+ go_plugins_init (NULL, NULL, NULL, NULL, TRUE, GO_TYPE_PLUGIN_LOADER_MODULE); - - gnc_html_register_object_handler( "gnc-guppi-pie", handle_piechart ); - gnc_html_register_object_handler( "gnc-guppi-bar", handle_barchart ); -@@ -189,7 +207,7 @@ - gog_object_update (GOG_OBJECT (graph)); - - #if defined(HAVE_GOFFICE_0_5) -- renderer = GOG_RENDERER (g_object_new (GOG_RENDERER_TYPE, -+ renderer = GOG_RENDERER (g_object_new (GOG_TYPE_RENDERER, - "model", graph, - NULL)); - update_status = gog_renderer_update (renderer, eb->width, eb->height); -@@ -229,7 +247,7 @@ - GogObject **out_chart, - GogPlot **out_plot) - { -- *out_graph = g_object_new(GOG_GRAPH_TYPE, NULL); -+ *out_graph = g_object_new(GOG_TYPE_GRAPH, NULL); - *out_chart = gog_object_add_by_name(*out_graph, "Chart", NULL); - *out_plot = gog_plot_new_by_name(plot_type_name); - if (!*out_plot) -@@ -363,8 +381,13 @@ - } - gog_object_add_by_name(chart, "Legend", NULL); - -+#ifdef GO_COLOR_BLACK -+ GOG_STYLED_OBJECT(graph)->style->line.width = 5; -+ GOG_STYLED_OBJECT(graph)->style->line.color = GO_COLOR_BLACK; -+#else - GOG_STYLED_OBJECT(graph)->style->outline.width = 5; - GOG_STYLED_OBJECT(graph)->style->outline.color = RGBA_BLACK; -+#endif - - series = gog_plot_new_series(plot); - labelData = go_data_vector_str_new((char const * const *)labels, datasize, NULL); -@@ -401,7 +424,7 @@ - GogObject *graph, *chart; - GogPlot *plot; - GogSeries *series; -- GogStyle *style; -+ GOStyle *style; - GOData *label_data, *slice_data; - int data_rows, data_cols; - double *data = NULL; -@@ -489,11 +512,11 @@ - gog_series_set_dim (series, 1, slice_data, NULL); - go_data_emit_changed (GO_DATA (slice_data)); - -- style = gog_styled_object_get_style (GOG_STYLED_OBJECT (series)); -- style->fill.type = GOG_FILL_STYLE_PATTERN; -+ style = go_styled_object_get_style (GO_STYLED_OBJECT (series)); -+ style->fill.type = GO_STYLE_FILL_PATTERN; - if (gdk_color_parse (col_colors[i], &color)) { - style->fill.auto_back = FALSE; -- go_pattern_set_solid (&style->fill.pattern, GDK_TO_UINT (color)); -+ go_pattern_set_solid (&style->fill.pattern, GO_COLOR_FROM_GDK (color)); - } else { - g_warning("cannot parse color [%s]", col_colors[i]); - } -@@ -503,8 +526,8 @@ - if (rotate_row_labels) { - GogObject *object = gog_object_get_child_by_role ( - chart, gog_object_find_role_by_name (chart, "X-Axis")); -- style = gog_styled_object_get_style (GOG_STYLED_OBJECT (object)); -- gog_style_set_text_angle (style, 90.0); -+ style = go_styled_object_get_style (GO_STYLED_OBJECT (object)); -+ go_style_set_text_angle (style, 90.0); - } - - set_chart_titles_from_hash (chart, eb); -@@ -526,7 +549,7 @@ - GogPlot *plot; - GogSeries *series; - GOData *sliceData; -- GogStyle *style; -+ GOStyle *style; - int datasize; - double *xData, *yData; - gchar *marker_str, *color_str; -@@ -556,7 +579,7 @@ - } - - series = gog_plot_new_series( plot ); -- style = gog_styled_object_get_style(GOG_STYLED_OBJECT(series)); -+ style = go_styled_object_get_style(GO_STYLED_OBJECT(series)); - - sliceData = go_data_vector_val_new( xData, datasize, NULL ); - gog_series_set_dim( series, 0, sliceData, NULL ); -@@ -588,9 +611,9 @@ - GdkColor color; - if (gdk_color_parse(color_str, &color)) { - style->marker.auto_outline_color = FALSE; -- go_marker_set_outline_color(style->marker.mark, GDK_TO_UINT(color)); -+ go_marker_set_outline_color(style->marker.mark, GO_COLOR_FROM_GDK(color)); - style->line.auto_color = FALSE; -- style->line.color = GDK_TO_UINT(color); -+ style->line.color = GO_COLOR_FROM_GDK(color); - } else { - g_warning("cannot parse color [%s]", color_str); - } -@@ -602,15 +625,15 @@ - go_marker_set_fill_color(style->marker.mark, - go_marker_get_outline_color(style->marker.mark)); - } else { -- GogStyle *chart_style = -- gog_styled_object_get_style(GOG_STYLED_OBJECT(chart)); -+ GOStyle *chart_style = -+ go_styled_object_get_style(GO_STYLED_OBJECT(chart)); - -- if (chart_style->fill.type == GOG_FILL_STYLE_PATTERN -+ if (chart_style->fill.type == GO_STYLE_FILL_PATTERN - && chart_style->fill.pattern.pattern == GO_PATTERN_SOLID) { - style->marker.auto_fill_color = FALSE; - go_marker_set_fill_color(style->marker.mark, - chart_style->fill.pattern.back); -- } else if (chart_style->fill.type == GOG_FILL_STYLE_PATTERN -+ } else if (chart_style->fill.type == GO_STYLE_FILL_PATTERN - && chart_style->fill.pattern.pattern - == GO_PATTERN_FOREGROUND_SOLID) { - style->marker.auto_fill_color = FALSE; -@@ -639,7 +662,7 @@ - { - GogGraph *graph = GOG_GRAPH(g_object_get_data(G_OBJECT(eb), "graph")); - # ifdef HAVE_GOFFICE_0_5 -- GogRenderer *rend = g_object_new(GOG_RENDERER_TYPE, "model", graph, NULL); -+ GogRenderer *rend = g_object_new(GOG_TYPE_RENDERER, "model", graph, NULL); - # else - GogRendererCairo *rend = g_object_new(GOG_RENDERER_CAIRO_TYPE, "model", graph, - "cairo", cr, "is-vector", TRUE, NULL); -- cgit v1.2.3