summaryrefslogtreecommitdiff
path: root/business/gnucash
diff options
context:
space:
mode:
Diffstat (limited to 'business/gnucash')
-rw-r--r--business/gnucash/README16
-rw-r--r--business/gnucash/doinst.sh9
-rw-r--r--business/gnucash/gnucash.SlackBuild70
-rw-r--r--business/gnucash/gnucash.info8
-rw-r--r--business/gnucash/gnucash_goffice.patch172
5 files changed, 72 insertions, 203 deletions
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 <goffice/graph/gog-renderer-gnome-print.h>
- #endif
--#include <goffice/graph/gog-style.h>
-+/* 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 <goffice/graph/gog-style.h>
-+# 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 <goffice/utils/go-style.h>
-+# include <goffice/utils/go-styled-object.h>
-+#endif
-+
- #include <goffice/graph/gog-styled-object.h>
- #include <goffice/graph/gog-plot.h>
- #include <goffice/graph/gog-series.h>
-+#include <goffice/graph/gog-data-set.h>
-+#include <goffice/utils/go-style.h>
-+#include <goffice/utils/goffice-utils.h>
- #include <goffice/utils/go-color.h>
- #include <goffice/utils/go-marker.h>
--#include <goffice/graph/gog-data-set.h>
- #include <goffice/data/go-data-simple.h>
- #include <goffice/app/go-plugin.h>
- #include <goffice/app/go-plugin-loader-module.h>
-@@ -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);