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. GNUCash is opensource accounting software.
This requires slib, libofx, ORBit2, GConf, libtasn1, gnome-keyring, This requires the following additional software, and it is suggested
gnome-mime-data, libbonobo, gnome-vfs, libgnomecanvas, libgnome, libbonoboui, that you build them in this order:
libgnomeui, libgnomecups, libgnomeprint, libgnomeprintui, gtkhtml, and goffice.
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. 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 # 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. # All rights reserved.
# #
# Redistribution and use of this script, with or without modification, is # Redistribution and use of this script, with or without modification, is
@ -23,8 +23,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=gnucash PRGNAM=gnucash
VERSION=2.2.9 VERSION=2.4.5
BUILD=${BUILD:-2} BUILD=${BUILD:-1}
TAG=${TAG:-_SBo} TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then if [ -z "$ARCH" ]; then
@ -40,6 +40,10 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp} OUTPUT=${OUTPUT:-/tmp}
DBI=${DBI:-false}
WEBKIT=${WEBKIT:-false}
OPT_ARGS=""
if [ "$ARCH" = "i486" ]; then if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686" SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX="" LIBDIRSUFFIX=""
@ -49,11 +53,30 @@ elif [ "$ARCH" = "i686" ]; then
elif [ "$ARCH" = "x86_64" ]; then elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC" SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64" LIBDIRSUFFIX="64"
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "arm" ]; then
SLKCFLAGS="-O2 -march=armv4t"
LIBDIRSUFFIX=""
else else
SLKCFLAGS="-O2" SLKCFLAGS="-O2"
LIBDIRSUFFIX="" LIBDIRSUFFIX=""
fi 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 set -e
rm -rf $PKG 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 \) \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \; -exec chmod 644 {} \;
# Patch for new goffice API
patch -p1 < $CWD/gnucash_goffice.patch
CFLAGS="$SLKCFLAGS" \ CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \
./configure \ ./configure \
@ -82,10 +102,10 @@ CXXFLAGS="$SLKCFLAGS" \
--infodir=/usr/info \ --infodir=/usr/info \
--mandir=/usr/man \ --mandir=/usr/man \
--docdir=/usr/doc/$PRGNAM-$VERSION \ --docdir=/usr/doc/$PRGNAM-$VERSION \
--enable-python-bindings \
--enable-ofx \ --enable-ofx \
--disable-aqbanking \ --disable-aqbanking \
--disable-sql \ $OPT_ARGS \
--disable-static \
--build=$ARCH-slackware-linux --build=$ARCH-slackware-linux
make make
@ -112,26 +132,30 @@ cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
# Handle the schemas and such (hopefully) properly # handle the schemas and such (hopefully) properly
GCONF_CONFIG_SOURCE="xml::etc/gconf/gconf.xml.defaults" export GCONF_CONFIG_SOURCE="xml::etc/gconf/gconf.xml.defaults"
for RAWNAME in $(find $PKG/etc/gconf/schemas -name "*.schemas") ; do for rawname in $(find $PKG/etc/gconf/schemas -name "*.schemas") ; do
SCHEMA=$(basename $RAWNAME) schema=$(basename $rawname)
cat << EOF >> $PKG/install/doinst.sh cat << eof >> $PKG/install/doinst.sh
GCONF_CONFIG_SOURCE="xml::etc/gconf/gconf.xml.defaults" \ GCONF_CONFIG_SOURCE="${GCONF_CONFIG_SOURCE}" \
chroot . gconftool-2 --makefile-install-rule /etc/gconf/schemas/$SCHEMA 1>/dev/null chroot . gconftool-2 \
EOF --config-source=$GCONF_CONFIG_SOURCE \
--makefile-install-rule /etc/gconf/schemas/$schema 1>/dev/null
eof
done done
for RAWNAME in $(find $PKG/etc/gconf/schemas -name "*.entries") ; do for rawname in $(find $PKG/etc/gconf/schemas -name "*.entries") ; do
ENTRY=$(basename $RAWNAME) entry=$(basename $rawname)
cat << EOF >> $PKG/install/doinst.sh cat << eof >> $PKG/install/doinst.sh
GCONF_CONFIG_SOURCE="xml::etc/gconf/gconf.xml.defaults" \ GCONF_CONFIG_SOURCE="${GCONF_CONFIG_SOURCE}" \
chroot . gconftool-2 --direct \ chroot . gconftool-2 --direct \
--config-source=$GCONF_CONFIG_SOURCE \ --config-source=$GCONF_CONFIG_SOURCE \
--load /etc/gconf/schemas/$ENTRY 1>/dev/null --load /etc/gconf/schemas/$entry 1>/dev/null
EOF eof
done done
unset GCONF_CONFIG_SOURCE unset GCONF_CONFIG_SOURCE
cd $PKG cd $PKG
/sbin/makepkg -p -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} /sbin/makepkg -p -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}

View file

@ -1,10 +1,10 @@
PRGNAM="gnucash" PRGNAM="gnucash"
VERSION="2.2.9" VERSION="2.4.5"
HOMEPAGE="http://www.gnucash.org/" 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="" DOWNLOAD_x86_64=""
MD5SUM="1d814de8673b4760045bf51b72924d04"
MD5SUM_x86_64="" MD5SUM_x86_64=""
MAINTAINER="Vincent Batts" MAINTAINER="Vincent Batts"
EMAIL="vbatts@hashbangbash.com" 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);