gnucash master: Multiple changes pushed
John Ralls
jralls at code.gnucash.org
Sun Apr 8 14:28:03 EDT 2018
Updated via https://github.com/Gnucash/gnucash/commit/11ac05ae (commit)
via https://github.com/Gnucash/gnucash/commit/e79079b2 (commit)
via https://github.com/Gnucash/gnucash/commit/87b0ac06 (commit)
via https://github.com/Gnucash/gnucash/commit/91c18bea (commit)
via https://github.com/Gnucash/gnucash/commit/36c771b1 (commit)
via https://github.com/Gnucash/gnucash/commit/07ba7a3a (commit)
from https://github.com/Gnucash/gnucash/commit/70e63664 (commit)
commit 11ac05aedbbf0f63f760c233737ee23d869d8611
Merge: e79079b 70e6366
Author: John Ralls <jralls at ceridwen.us>
Date: Sun Apr 8 11:25:18 2018 -0700
Merge branch 'master' into unstable
Because I released 3.0 from the wrong branch
commit e79079b2173f48b857c18737c33c2fd156a25e5b
Author: John Ralls <jralls at ceridwen.us>
Date: Fri Apr 6 15:57:05 2018 -0700
Bug 793461 - Transaction matcher window blank when importing QFX
The MacOS part. MSWin is a different problem.
diff --git a/gnucash/CMakeLists.txt b/gnucash/CMakeLists.txt
index 7dd92c9..fc31390 100644
--- a/gnucash/CMakeLists.txt
+++ b/gnucash/CMakeLists.txt
@@ -182,6 +182,7 @@ IF (MAC_INTEGRATION)
file(APPEND ${ENV_FILE_OUT} "XDG_CONFIG_HOME={HOME}/Library/Application Support/Gnucash/config\n")
file(APPEND ${ENV_FILE_OUT} "GDK_PIXBUF_MODULE_FILE={SYS_LIB}/gdk-pixbuf-2.0/2.10.0/loaders.cache\n")
file(APPEND ${ENV_FILE_OUT} "FONTCONFIG_FILE={GNC_HOME}/etc/fonts/fonts.conf\n")
+ file(APPEND ${ENV_FILE_OUT} "OFX_DTD_PATH={GNC_HOME}/share/libofx/dtd\n")
ENDIF()
FILE(COPY ${BUILD_ENV_FILE_OUT}
commit 87b0ac06b8eeefd29d185491695f2415a15b2507
Author: John Ralls <jralls at ceridwen.us>
Date: Fri Apr 6 15:46:29 2018 -0700
Update README for 3.0.
diff --git a/README b/README
index 1056d6e..cddc552 100644
--- a/README
+++ b/README
@@ -1,7 +1,7 @@
############################################################
- GnuCash 2.6.x README file.
+ GnuCash 3.x README file.
-The last known stable series is the 2.6.0 series.
+The current stable series is GnuCash 3.x.
------------------------------------------------------------
##################
@@ -54,9 +54,9 @@ Features include:
picks duplicate transactions and assigns contra accounts based on
similar previously-imported transactions.
- - HBCI Support: GnuCash also supports the German Home Banking
- Computer Interface protocol which includes statement download,
- initiate bank transfers and direct debits.
+ - HBCI/FinTX Support: GnuCash also supports the German FinTS (formerly
+ Home Banking Computer Interface protocol which includes statement download,
+ initiate bank transfers and direct debits.
- Quicken File Import: Import Quicken QIF style files. QIF files
are automatically merged to eliminate duplicate transactions.
@@ -65,8 +65,7 @@ Features include:
makes reconciliation easy.
- Stock/Mutual Fund Portfolios: Track stocks individually (one per
- account) or in portfolio of accounts (a group of accounts that can
- be displayed together).
+ account).
- Get Stock & Mutual Fund quotes from various web sites, update
portfolio automatically (more funds being added regularly).
@@ -80,10 +79,6 @@ Features include:
supported and can be bought and sold (traded). Currency movements
between accounts are fully balanced when double-entry is enabled.
- - New Multi-Currency Transaction Handling: GnuCash no longer
- requires separate currency exchange accounts to handle multiple
- currency transfers.
-
- Chart of Accounts: A master account can have a hierarchy of detail
accounts underneath it. This allows similar account types
(e.g. Cash, Bank, Stock) to be grouped into one master account
@@ -108,11 +103,11 @@ Features include:
viewing a portfolio of many stocks, by showing all transactions in
that portfolio.
- - Written in C with embedded scheme support via Guile.
+ - Written in C/C++ with embedded scheme support via Guile.
- File access is locked in a network-safe fashion, preventing
accidental damage if several users attempt to access the same
- file, even if the file is NFS-mounted.
+ file, even if the file is on a shared file system.
- SQL storage is supported using MySQL, Postgresql, and
SQLite3. Note that this does not support multiple concurrent
@@ -136,31 +131,17 @@ The following packages are required to be installed to run GnuCash:
[see README.dependencies]
-The optional online stock and currency price retrieval feature requires Perl. This is generally already installed on Gnu/Linux and *BSD, and MacOSX.
+The optional online stock and currency price retrieval feature requires Perl.
+This is generally already installed on Gnu/Linux and *BSD, and MacOS.
In addition, some perl modules need to be installed. You can run the
-script 'update-finance-quote' as root to obtain the latest versions of
-required packages. This program requires an C compiler, which is
-generally already installed in Gnu/Linux and *BSD, but must be
-installed separately on MacOSX; on versions 10.6 and earlier, install
-Xcode from the distribution DVD or by downloading from
-http://developer.apple.com (you'll need to log in with your Apple ID);
-for 10.7 and 10.8, you can get Xcode for free from the App store. 10.9
-has a cool feature that detects an attempt to compile and offers to
-install the command-line build tools for you.
-
-Microsoft Windows users can use the "Install Online Quotes" program in the Start menu's Gnucash group.
-
-To use the OFX and HBCI import features you need to obtain
-the following;
- libofx: This library provide support for OFX file imports.
- GnuCash-2.0.0 and newer needs at least the version libofx-0.7.0
- or newer. Sources can be found at
- http://sourceforge.net/projects/libofx/
- aqbanking: This library provide support for HBCI and openOFX online actions.
- Three libraries, Ktoblzcheck, Gwenhywfar, and AQBanking, are required.
- All may be obtained from
- http://www2.aquamaniac.de/sites/download/packages.php
+script 'gnc-fq-update' as root to obtain the latest versions of
+required packages.
+
+Microsoft Windows users can use the "Install Online Quotes" program in the
+Start menu's Gnucash group; it will install perl and all of the required
+modules more-or-less automatically. MacOS users will find "Update Finance Quote"
+in the distribution disk image; it will automate running gnc-fq-update for you.
#######
Running
@@ -209,7 +190,7 @@ Building & Installing
GnuCash uses CMake to handle the build process. Details are available
in cmake/README_CMAKE.txt (If you are building directly from Git, read
-the README.git file for more instructions.)
+the README.git file for more instructions.)
Prior to building GnuCash, you will have to obtain and install the
following packages:
@@ -227,18 +208,6 @@ following packages:
SWIG: 2.0.10 or later is needed. See http://www.swig.org or
http://sourceforge.net/projects/swig/
-What you'll need to get and install in order to make sure you have all
-of these pieces properly installed for your particular operating
-system flavor will vary, but here's at least a partial list of what
-you'll need for the systems we know about:
-
- Debian/GNU/Linux: see README.dependencies and
- current:
- libgnome-dev
- libwebkit-dev
- guile
- libguile9-dev
-
Generally, up-to-date build instructions for various Linux
distributions can be found on the GnuCash wiki at
https://wiki.gnucash.org/wiki/Building
@@ -280,24 +249,25 @@ details.
Supported Platforms
-------------------
-GnuCash 2.x is known to work with the following operating systems:
+GnuCash 3.x is known to work with the following operating systems:
GNU/Linux -- x86, Sparc, PPC
FreeBSD -- x86
OpenBSD -- x86
-MacOS X -- PPC and Intel, Versions 10.5 and later
+MacOS -- Intel, Versions 10.9 and later
-GnuCash can probably be made to work on any platform for which Gtk+ can,
-given sufficient effort. If you try and encounter difficulty, please join
-the developer's mailing list, gnucash-devel at gnucash.org.
+GnuCash can probably be made to work on any platform for which Gtk+ can
+and for which there is a C++11 compiler available, given sufficient expertise
+and effort. If you try and encounter difficulty, please subscribe to the
+developer's mailing list, gnucash-devel at gnucash.org and we'll try to help you.
#########################
Downloads
-------------------------
GnuCash sources and Mac and Windows binaries are hosted at
-SourceForge. Links for the current version are provided at
+SourceForge and Github. Links for the current version are provided at
http://www.gnucash.org. We depend upon distribution packagers for
GNU/Linux and *BSD binaries, so if you want a more recent version than
your distribution provides you'll have to build from source.
@@ -319,7 +289,8 @@ Before you start developing GnuCash, you should do the following:
1. Read http://wiki.gnucash.org/wiki/Development
2. Look over the doxygen-generated documentation at
- http://code.gnucash.org/docs/MASTER/
+ http://code.gnucash.org/docs/MASTER/ or
+ http://code.gnucash.org/docs/MAINT/
3. Go to the GnuCash website and skim the archives of the GnuCash
development mailing list.
@@ -327,6 +298,8 @@ Before you start developing GnuCash, you should do the following:
4. Join the GnuCash development mailing list. See the GnuCash website
for details on how to do this.
+5. Build the branch you want from a git clone of our repository and make
+ sure that your build passes all of the tests and runs correctly.
Submitting a Patch:
commit 91c18beac121a8f6ff6738d5be625d82aeb13b26
Author: John Ralls <jralls at ceridwen.us>
Date: Fri Apr 6 15:46:16 2018 -0700
Add gettext and doxygen to dependencies.
diff --git a/README.dependencies b/README.dependencies
index b824a32..2239492 100644
--- a/README.dependencies
+++ b/README.dependencies
@@ -66,6 +66,7 @@ Libraries/Deps
gtk+3 3.14.0
guile 2.2.0 or 2.0.0
libxml2 2.5.10
+ gettext 0.19.6
libxslt, including xsltproc
ICU International Compnents for
Unicode
@@ -100,6 +101,8 @@ Libraries/Deps
(superceded for the
most part in Doxygen
docs).
+ doxygen For building the Doxygen API
+ documentation.
at runtime, required
---------------------
commit 36c771b156f5147d142599bf524f12cd8e98c31d
Author: John Ralls <jralls at ceridwen.us>
Date: Fri Apr 6 14:47:24 2018 -0700
Fix up indentation in README.dependencies so that it matches the subheaders.
diff --git a/README.dependencies b/README.dependencies
index 2f311a3..b824a32 100644
--- a/README.dependencies
+++ b/README.dependencies
@@ -62,39 +62,38 @@ Libraries/Deps
--------------
required Version
-------- _______
-glib2 2.40.0
-gtk+3 3.14.0
-guile 2.2.0 or 2.0.0
-libxml2 2.5.10
-libxslt, including xsltproc
-ICU International Compnents for
+ glib2 2.40.0
+ gtk+3 3.14.0
+ guile 2.2.0 or 2.0.0
+ libxml2 2.5.10
+ libxslt, including xsltproc
+ ICU International Compnents for
Unicode
-boost 1.50.0 locale and regex libs must be
+ boost 1.50.0 locale and regex libs must be
built with ICU support.
-swig 2.0.10 Only required to build from git
- or SVN.
-webkit webkitgtk-3.0 (Windows, Mac)
+ swig 2.0.10 Only required to build from git.
+ webkit webkitgtk-3.0 (Windows, Mac)
webkit2gtk-3.0 (Everything Else)
-googletest 1.7.0 Some distros call it gtest.
+ googletest 1.7.0 Some distros call it gtest.
Some distros also separate out
googlemock or gmock; both are
required.
optional
--------
-aqbanking 4.0.0 online banking; also requires
+ aqbanking 4.0.0 online banking; also requires
gwehywfar and ktoblzcheck
-libdbi 0.8.3 SQL backend; also requires at
+ libdbi 0.8.3 SQL backend; also requires at
least one of libdbd-sqlite3,
libdbd-mysql, or libdbd-pgsql
-libofx 0.9.0 OFX/QFX import
+ libofx 0.9.0 OFX/QFX import
-python 2.4.0 python bindings; headers
+ python 3.4.0 python bindings; headers
required, not just binaries.
-makeinfo Not really needed, it
+ makeinfo Not really needed, it
just builds the
mostly obsolete
design documentation
@@ -104,17 +103,17 @@ makeinfo Not really needed, it
at runtime, required
---------------------
-a gsettings backend to store the gnucash global preferences in
-This backend is platform dependent.
-- linux: dconf
-- windows: registry
-- osx/quarz: plists
+ a gsettings backend to store the gnucash global preferences in
+ This backend is platform dependent.
+ - linux: dconf
+ - windows: registry
+ - osx/quarz: plists
-Note that the osx and windows backends are built-in in gio for their
-respective platforms. On linux and similar systems, the dconf package
-should be installed.
+ Note that the osx and windows backends are built-in in gio for their
+ respective platforms. On linux and similar systems, the dconf package
+ should be installed.
at runtime, suggested
---------------------
-isocodes: translation of currency names
+ isocodes: translation of currency names
commit 07ba7a3a9893e3bc9a9568b5b22c277149a9ee35
Author: John Ralls <jralls at ceridwen.us>
Date: Thu Apr 5 16:50:32 2018 -0700
Clarify cmake build directory location and source path.
diff --git a/cmake/README_CMAKE.txt b/cmake/README_CMAKE.txt
index 9986f8f..4d936ed 100644
--- a/cmake/README_CMAKE.txt
+++ b/cmake/README_CMAKE.txt
@@ -71,10 +71,11 @@ from distro package repositories or by hand. You need at least version
=== Running CMake
-The next step is to invoke CMake to generate the build system. Before
-running CMake, you need to create a build directory:
+CMake works a lot better if you use a separate build directory, so the first
+step is to make one. We recommend that you set the build directory outside of
+the source tree, but it will work in the build tree if you want:
- $ cd .. # back to workdir
+ $ cd # Change to your home directory
$ mkdir gnucash-build
$ cd gnucash-build
@@ -96,9 +97,26 @@ Then decide what cmake command line options you will need:
* If you don't specify a generator, Makefiles will be generated.
- * Finally, put the path to your source directory last.
- Here, that is ../gnucash
-
+ * Finally, put the path to your source directory last. To avoid confusing
+ yourself later with weird cmake or build errors, we suggest that you use the
+ absolute path, for example if you cloned gnucash into your home directory,
+ $HOME/gnucash. If you've cloned or untarred gnucash somewhere else you can
+ $ export SRCROOT=/absolute/path/to/source/parent
+ $ cmake <parameters> $SRCROOT/gnucash
+ Getting into this habit will make sure that you always get the source
+ directory right no matter where you put the build dir. (It's a good habit for
+ `rm -rf`, too: `rm -rf *` can have very frustrating consequences if done from
+ the wrong place!) Be especially careful if you decide to use an in-tree build
+ directory and a relative path: It's easy to
+ $ mkdir build && cd build
+ $ cmake ../gnucash
+ from the source directory. That will fail, because there's a "gnucash"
+ subdirectory with its own CMakeLists.txt, one that doesn't know how to
+ configure the build and can't see the the cmake modules that it needs to run.
+ If you must do this, you want to invoke CMake like
+ $ cmake ..
+ to get the right CMakeLists.txt.
+
* There are other options available; look in the `OPTIONS` section of
the top-level `CMakeLists.txt` file. For example, you can disable
SQL using these options.
@@ -112,24 +130,24 @@ Some examples:
* Build on Linux, don't want to install, use the Makefile generator:
- $ cmake ../gnucash
+ $ cmake $SRCROOT/gnucash
* Build on Linux, install to /tmp/gnucash, use Ninja generator:
- $ cmake -D CMAKE_INSTALL_PREFIX=/tmp/gnucash -G Ninja ../gnucash
+ $ cmake -D CMAKE_INSTALL_PREFIX=/tmp/gnucash -G Ninja $SRCROOT/gnucash
* Build on OS X, install to /tmp/gnucash, use Ninja generator:
- $ cmake -D CMAKE_INSTALL_PREFIX=/tmp/gnucash -D CMAKE_PREFIX_PATH=$HOME/gnucash-unstable -G Ninja ../gnucash
+ $ cmake -D CMAKE_INSTALL_PREFIX=/tmp/gnucash -D CMAKE_PREFIX_PATH=$HOME/gnucash-unstable -G Ninja $SRCROOT/gnucash
* The same, but use the Xcode generator:
- $ cmake -D CMAKE_INSTALL_PREFIX=/tmp/gnucash -D CMAKE_PREFIX_PATH=$HOME/gnucash-unstable -G Xcode ../gnucash
+ $ cmake -D CMAKE_INSTALL_PREFIX=/tmp/gnucash -D CMAKE_PREFIX_PATH=$HOME/gnucash-unstable -G Xcode $SRCROOT/gnucash
* Again, this time pointing to a gmock-1.7.0 source directory:
$ cmake -D CMAKE_INSTALL_PREFIX=/tmp/gnucash -D
- CMAKE_PREFIX_PATH=$HOME/gnucash-unstable -D GMOCK_ROOT=$HOME/gmock-1.7.0 -D GTEST_ROOT=$HOME/gmock-1.7.0/gtest -G Xcode ../gnucash
+ CMAKE_PREFIX_PATH=$HOME/gnucash-unstable -D GMOCK_ROOT=$SRCROOT/gmock-1.7.0 -D GTEST_ROOT=$SRCROOT/gmock-1.7.0/gtest -G Xcode $SRCROOT/gnucash
=== Building
Summary of changes:
README | 85 +++++++++++++++++---------------------------------
README.dependencies | 52 +++++++++++++++---------------
cmake/README_CMAKE.txt | 40 +++++++++++++++++-------
gnucash/CMakeLists.txt | 1 +
4 files changed, 86 insertions(+), 92 deletions(-)
More information about the gnucash-changes
mailing list