business/gnucash: Updated for version 2.4.5.

Signed-off-by: Niels Horn <niels.horn@slackbuilds.org>
This commit is contained in:
Vincent Batts 2011-07-16 13:32:19 -03:00 committed by Robby Workman
parent ba76866f34
commit f0df599877
5 changed files with 71 additions and 202 deletions

View file

@ -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.

View file

@ -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

View file

@ -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
cat $CWD/doinst.sh > $PKG/install/doinst.sh
# 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
# 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}

View file

@ -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"

View file

@ -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);