Commit Graph
100 Commits
Author SHA1 Message Date
Geert Janssens f05761e636 Merge branch 'gtk3-update7' of https://github.com/Bob-IT/gnucash into unstable 2017-10-31 09:53:33 +01:00
Geert Janssens 1a8cf021d2 Add GNUCASH_BUILD_ID cmake/configure variable which allows packagers to define their own
For example distros may want to set the version of their package source (rpm, dpkg,...) rather than
our git id.
2017-10-26 22:48:50 +02:00
Geert Janssens 67ae241075 Use alternative revision retrieval if git describe is failing
This happens primarily on Travis. It looks like the shallow clone it makes is missing
tags. So if git describe fails, fall back to only the short commit hash (as we used to do
previously everywhere).
2017-10-26 22:48:50 +02:00
Geert Janssens 998f1185c1 Improve about dialog layout and contents
The main changes are
- group version and build information together
- increase size of application icon and name
- A more complete copyright notice (including 'Copyright' and 'GnuCash')

The default gtk provided about dialog widget won't allow for much more customization than that...

Note the build info has been condensed and is now based on 'git describe' which
returns a very concise, yet complete description of a commit starting from
the last tag that precedes it. This info will also be used anywhere else the build info
was displayed from now on, simplifying translations as well.
2017-10-26 22:48:50 +02:00
Geert Janssens df8ceadb63 Fix building from dist tarball with python bindings enabled 2017-10-26 14:05:17 +02:00
Geert Janssens 7cb59aafe8 Fix disabling src docs build on Windows
As it was written it also prevented building source docs on other platforms, causing
cmake warnings and a failed dist build.
2017-10-26 14:05:17 +02:00
Geert Janssens 1238b9d8cd Prevent gcc from searching config.h in the current directory
This will avoid a ninja-build from picking up a config.h generated by the autotools build
(in the root build directory). Picking up the wrong config.h may lead to all kinds of
subtle issues if the autotools run was done with different options than the cmake run.
2017-10-26 14:05:17 +02:00
Geert Janssens 67d011b86f Add gnucash.1 man page as proper dependency for dist
This file is now generated using CONFIGURE_FILE, so cmake will pick it
up as a generated file and do proper dependency resolution based on it.
2017-10-26 14:05:17 +02:00
Geert Janssens 444eb1c28e Improve gnc_numeric_boxed_copy_func based on discussion in PR#145
In essence
- guard against nullptr dereferencing
- free returned values
2017-10-23 23:05:49 +02:00
Geert Janssens b83be1b8c6 Remove configure option --enable-locale-specific-tax and make gnucash always behave as if it was set 2017-10-20 20:50:33 +02:00
Geert Janssens 9472e9347f Replace ambiguous 'scm' with 'vcs' in macro name
Pointed out by Frank.
2017-10-05 22:47:11 +02:00
Geert Janssens 29b862adc2 Use different format specifier to make older git versions happy 2017-10-05 17:02:32 +02:00
Geert Janssens 545b24fe97 Merge branch maint into unstable
Resolved conflicts:
2017-10-05 16:29:36 +02:00
Geert Janssens e56cb37813 Additional changes to use commit date rather than build date
This effectively replaces the use of GNUCASH_BUILD_DATE with GNUCASH_SCM_REV_DATE.
The latter is extracted from the current commit if building from some kind of vcs
(currently only works correctly for svn and git). The info extracted while building
from vcs is then also added to the dist tarball so it's available when building
from tarball as well (via the file libgnucash/core-utils/gnc-vcs-info.h).

The same date is also used to set the date in gnucash' man page document.
A practical detail: I have changed the substitution variables in the man page template
from @- -@ to ${} so we could leverage CONFIGURE_FILE in cmake. The necessary
related adjustments have also been made to Makefile.am's substitution rules.
2017-10-05 15:51:55 +02:00
Geert Janssens 7650d76582 Fix gnucash.pot generation from cmake build.
intltool-update should be run from the build directory, not the source directory.
If run from the source directory it will omit glade messages that have a context attribute
so all msgids with a msgctxt comment would be missing.
2017-10-03 22:56:35 +02:00
Geert Janssens 42ac55e03a Stop testing GObject's handling of invalid parameters 2017-10-03 22:56:35 +02:00
Geert Janssens b3b4b20e4b Merge branch 'maint' into unstable
Resolved conflicts:
	CMakeLists.txt
	NEWS
	configure.ac
2017-09-27 17:35:13 +02:00
Geert Janssens d5b0dddb74 Use the same bugzilla url in AC_INIT as on maint 2017-09-27 17:34:12 +02:00
Geert Janssens 5ac849623a Add Catalan README file to autotools based build 2017-09-27 17:09:23 +02:00
Geert Janssens d266ee346c Fix build failures if userdata_home exists but gnc_userdata_home doesn't
userdata_home is a different directory on each platform we support (default /home/janssege/.local/share on linux for example)
and gnc_userdata_home is normally userdata_home/GnuCash.
These directories may not always exist (yet) in all circumstances, so properly handle
all of these possible situations.
2017-09-26 12:37:33 +02:00
Geert Janssens 4d59be7f46 Ignore softlink for new report 2017-09-21 18:42:23 +02:00
Geert Janssens 398b75e1a4 Revert "Ignore softlink for new report"
This commit was made against the wrong branch...
This reverts commit ec99d74b46.
2017-09-21 18:39:56 +02:00
Geert Janssens ec99d74b46 Ignore softlink for new report 2017-09-21 18:39:08 +02:00
Geert Janssens 7448d8b532 Merge 'maint' into unstable
Resolved conflicts:
	configure.ac
2017-09-21 14:26:20 +02:00
Geert Janssens 0b85bbc1bf Add income-gst-statement.scm to POTFILES.in 2017-09-21 14:24:02 +02:00
Geert Janssens c6f5118b9d Fixup for Catalan account charts 2017-09-21 12:22:04 +02:00
Geert Janssens df7646263b Add boilerplate to get Catalan account charts installed and added to the distribution 2017-09-21 11:18:35 +02:00
Geert Janssens 1a84b4a000 Properly ignore internal report options that are not on invisible option pages when opening the report options dialog 2017-09-20 20:00:03 +02:00
Geert Janssens 42aa734475 Travis fixes
- Remove trailing semicolons. They're not needed in shell scripts
- Don't create default XDG_DATA_HOME (<HOME>/.local/share) the code
  should work equally well if that directory doesn't exist and so
  not creating it tests another part of the code
2017-09-16 22:29:29 +02:00
Geert Janssens a8cccc00f3 Minor tweaks to the userdata_dir logic
- have gnc_validate_directory throw as well in case of a missing directory
  that it shouldn't create. This allows to remove 3 other throws
- slightly adjust the error message in case of missing directory
- never migrate when the final directory is a temporary (sub)directory
2017-09-16 22:29:29 +02:00
Geert Janssens 2ac118f80c Improve a few comments. 2017-09-16 19:33:56 +02:00
Geert Janssens 61a90d99fb Disable creating a user_data_dir in the test environment
The code should be able to cope with this
2017-09-16 19:18:01 +02:00
Geert Janssens 3a1f7d7339 Also undo the changes to POTFILES.in 2017-09-16 19:15:49 +02:00
Geert Janssens f3c0ec6068 Revert "Merge branch 'new-gst-report' of https://github.com/christopherlam/gnucash"
This reverts commit 48483b1e3d, reversing
changes made to 53fbc6f62f.

This merge was unintentionally pushed to master. This branch still
needed improvements.
2017-09-16 17:43:18 +02:00
Geert Janssens 8b1ebc5168 Update python bindings to use PyGI and Gtk3
While it doesn't fully fix the python bindings, gnucash
now at least doesn't segfault on start up if built with
python bindings enabled. There are still issues to fix though.
2017-09-16 17:38:47 +02:00
Geert Janssens 48483b1e3d Merge branch 'new-gst-report' of https://github.com/christopherlam/gnucash 2017-09-16 10:24:00 +02:00
Geert Janssens 75b5a41eee Merge branch 'maint' 2017-09-15 21:51:50 +02:00
Geert Janssens 3bc0241e74 Bug 647805 - Interdependent report options fail to change state after using apply for a limited number of times
On the C side an SCM guile_options object is wrapped in a GNCOptionDB. This is
however a multi-to-one relationship. That is there can be several GNCOptionDBs
wrapping the same SCM guile_options object. This happens for example when
a report is open together with its Options dialog. Both manager their own
GNCOptionDB object while both wrap the same SCM guile_options.

The problem in this bug was caused by a callback function picking the wrong
GNCOptionDB based on the given SCM guile_options object. Which GNCOptionDB
got picked was completely dependent on how g_hash_table_foreach would cycle
through the stored dbs. It appears this is dependent on the in-memory order
of the hash table's values.

By being more selective of which GNCOptionDB we're looking for, this
could be circumvented. The GNCOptionDB we want is the one related to the open
report options dialog. This GNCOptionDB is different from the one managed by
the report tab in that it has callbacks set. So from now on we search for
a GNCOptionDB that wraps the give SCM guile_options and has one particular
callback set.
2017-09-15 20:54:42 +02:00
Geert Janssens 46545d3e45 Apply python binding changes to correct file 2017-09-13 15:01:48 +02:00
Geert Janssens 37ecf56fbb Merge branch 'maint'
Resolved conflicts:
	bindings/python/tests/CMakeLists.txt
2017-09-12 13:48:01 +02:00
Geert Janssens 556f7037ad Merge branch 'maint' 2017-09-10 19:16:38 +02:00
Geert Janssens 82bd4f69aa Merge branch 'fix_cmake_ofx_dep' of https://github.com/bhardwajs/gnucash 2017-09-10 18:56:44 +02:00
Geert Janssens f0f53d99b7 Merge branch 'trav' of https://github.com/limitedAtonement/gnucash 2017-09-10 18:32:58 +02:00
Geert Janssens f0fe1e9949 Re-enable python-bindings test this time with a fully corrected python path
The fix was suggested by Rob Gowin.
In addition, disable some debug output in the python tests suite.
2017-09-10 11:57:28 +02:00
Geert Janssens a1bc2d0202 Temporarily disable python-bindings as it's currently failing
I have adjusted the PYTHON_PATH already based on the new directory layout,
but that's not sufficient.
2017-09-09 14:23:47 +02:00
Geert Janssens 22b11427cb Merge branch 'maint' 2017-09-09 14:09:13 +02:00
Geert Janssens ef594e87e0 Merge branch 'maint.translation.de.02' of https://github.com/quazgar/gnucash into maint 2017-09-08 17:37:09 +02:00
Geert Janssens 32a8b853f1 Ajust the GUILE_COMPILE_PATH such that it also works on Windows 2017-09-06 16:31:54 +02:00
Geert Janssens 118af3e9e9 Fix gtest-gnc-timezone test on Windows 2017-09-05 14:14:01 +02:00
Geert Janssens 333edb1900 Fix gnc-rational test on Windows 2017-09-05 13:54:50 +02:00
Geert Janssens 449d3ca32d Windows: check permissions actually used on the platform
The code assumed these would be the same as on all other platforms which turns out not to be the case
2017-09-05 00:07:17 +02:00
Geert Janssens d96bb3ebd5 Amend previous commit
The utf8 conversion is only used in the Windows specific section so there's no
need to define an overloaded function on std::string in this case.
Also CMakeLists.txt doesn't require the MingW specific library name setting
for boost::filesystem. Just removing the hardcoded one allows the build to
pick the right name up from the Boost_LIBRARIES variable.
2017-09-04 23:03:08 +02:00
Geert Janssens d6677ff39f Convert boost::filesystem path strings to utf8.
Fixes windows build.
2017-09-04 13:37:46 -07:00
Geert Janssens 75cc34a2db Merge branch 'maint'
Resolved conflicts:
	gnucash/import-export/CMakeLists.txt
2017-09-03 12:06:52 +02:00
Geert Janssens 98e8e4c767 Only build aqbanking when requested 2017-09-03 12:05:00 +02:00
Geert Janssens c0f3147a3e Merge branch 'maint'
Resolved conflicts:
	.travis.yml
2017-09-02 16:18:23 +02:00
Geert Janssens 28668ec594 Fix deliberate test failure on previous commit 2017-09-02 16:03:46 +02:00
Geert Janssens 1e7c721e8d Have Travis print out build logs in case of test failures
To get the after_failure line work, I had to move the inline
build script to a separate script (util/travis-script.sh)

The second script (util/travis-after-failure.sh) will output
LastTest.log for cmake based builds and all files named
test*.log for an autotools based build.

Note: this commit also comes with a delibarate test failure
to illustrate the Travis behaviour. It will be removed in the
next commit.
2017-09-02 16:02:08 +02:00
Geert Janssens 098c1950f3 Merge branch 'maint'
Resolved conflicts:
	.travis.yml
	gnucash/report/standard-reports/transaction.scm
2017-09-02 11:25:54 +02:00
Geert Janssens 0e0e4d294e Set up a build matrix on Travis CI
This will run the different builds in parallel (depending on
resource availability on Travis).

The advantages are
- faster test results
- easier to spot which build type has failed
- shorter test log per build type to parse
2017-09-02 11:06:42 +02:00
Geert Janssens 1b3a0e56ff Use boost::filesystem's built-in conversion between character encodings.
This should fix the wide character mixup on Windows
2017-08-31 12:20:08 -07:00
Geert Janssens e732ff9432 Fix FIND_PROGRAM invocation for guile 2017-08-31 16:15:19 +02:00
Geert Janssens 64309e4e88 Set the same minimum required gtk version for cmake and autotools
3.10 is what Ubuntu 14.04 (Trusty) ships with and that's the
most recent on Travis. So we can't require a more recent version
for now.
2017-08-31 15:41:32 +02:00
Geert Janssens 74b6ef8ab3 Merge branch 'kvpvaltostring' of https://github.com/limitedAtonement/gnucash 2017-08-31 10:10:45 +02:00
Geert Janssens 7ee322942e Detail what is meant with a dark theme 2017-08-31 10:03:55 +02:00
Geert Janssens 135055764b Merge branch 'gtk3-update5' of https://github.com/Bob-IT/gnucash 2017-08-31 09:56:22 +02:00
Geert Janssens a670783eb6 Merge branch 'prices-out2' of https://github.com/Bob-IT/gnucash 2017-08-29 22:24:43 +02:00
Geert Janssens bbea5061a3 Extend environment file parsing to also parse environment.local
This latter file can be created by the administrator next to the environment
file in order to override parameters set in environment file.
The reason for this is the environment file is always overwritten
during installation, while environment.local is never touched by
the installers. So making the changes in there ensures they persist
acros gnucash updates.
2017-08-26 21:38:21 +02:00
Geert Janssens 2662f4bca3 Mention GNC_DATA_HOME and AQBANKING_HOME in the environment file. 2017-08-26 21:38:21 +02:00
Geert Janssens 045ee429bf Check GNC_DATA_HOME environment to override default userdata location.
This replaces GNC_DOT_DIR as it was called in older gnucash releases.
2017-08-26 21:38:21 +02:00
Geert Janssens a153412e5a Use platform dependent locations for gnucash user's data (gnc_userdata_home)
- Linux: use whatever the xdg spec dictates
- Windows: use AppData(Roaming)
- OS X/Quarz: use NSApplicationSupportDirectory special directory, which
              typically resolves to $HOME/Library/Application Support

If the preferred directory can't be used the code will fallback to
$HOME/.gnucash (the old location) if it exists. It won't create it
however. Instead if missing it will fall back to the platform's
temporary directory.

Code is added also to automatically migrate all data from the old
location to the new (only the first time).
2017-08-26 21:38:21 +02:00
Geert Janssens ae75bc963f Rewrite several file path routines to use boost::filesystem
This is a basis for moving .gnucash to a more modern location for
application specific user data (following the xdg spec).
2017-08-26 21:38:21 +02:00
Geert Janssens 7ee15a3d70 Fully enable the new Account Substring option on the transaction report
This is done by reverting the following two commits which disabled
and hid the option on maint:
- Hide Account Substring option
  (commit 197faeab3f)
- Reduce to compatibility shim
  (commit 19fe7d8a56)
2017-08-25 11:43:49 +02:00
Geert Janssens 76e53b065e Hide Account Substring option
It is only there for compatibility with gnucash 2.8.
It should not be visible on 2.6.x, only exist.
2017-08-25 11:43:49 +02:00
Geert Janssens 197faeab3f Hide Account Substring option
It is only there for compatibility with gnucash 2.8.
It should not be visible on 2.6.x, only exist.
2017-08-25 11:40:54 +02:00
Geert Janssens 19f4ce2f5a Merge branch 'patch-3' of https://github.com/christopherlam/gnucash into maint 2017-08-25 11:29:46 +02:00
Geert Janssens 64f36323b2 Build test-import-pending-matches as c++
It depends on libgncmod-test-engine which needs c++ building/linking.
Without this change the next commit would produce the following linker error:
/usr/bin/ld: ../../../libgnucash/engine/test-core/.libs/libgncmod-test-engine.a(test-engine-stuff.o): undefined reference to symbol '__gxx_personality_v0@@CXXABI_1.3'
/usr/lib64/libstdc++.so.6: error adding symbols: DSO missing from command line

Making the test compila as C++ solves the issue.
For reference commit ff07762 and commit 5e7dd9 seem to be related and
have additional explanations.
2017-08-23 15:14:37 +02:00
Geert Janssens 7d3dab21df Merge branch 'maint'
Resolved conflicts:
	gnucash/gnome/gtkbuilder/dialog-fincalc.glade
2017-08-21 22:40:16 +02:00
Geert Janssens 4b3db97ba1 Merge branch 'maint'
Resolved conflicts:
	gnucash/report/report-system/html-document.scm
2017-08-21 21:53:27 +02:00
Geert Janssens f28896fbde Fix cmake run on Ubuntu 16.04 (and possibly other distros)
Apparently that platform trips over a missing newline at the end of the generated POTFILES.in.in file.
Adding one allows cmake to complete configuration and appears to be fine on Fedora as well
(although it worked fine without the newline too).

Thanks go to Michael Jung <gnucash-devel@mailinglists.mjung.org> for reporting this and proposing the fix.
2017-08-21 16:41:08 +02:00
Geert Janssens 3e1a1b262c Fix missing Find... functionality
It got lost during migration of business-gnome to gnome.
Spotted and solved by Robert Fewell.
2017-08-21 11:14:28 +02:00
Geert Janssens 4d5a37d292 Minor cleanupus in .gitignore 2017-08-17 15:26:54 +02:00
Geert Janssens f943ba61ae Rename directory for code from external projects
'lib' is also being used by the cmake build, so there was a
theoretical risk for file conflicts. The new name is 'borrowed'.
2017-08-17 15:25:49 +02:00
Geert Janssens a25001dfe6 Win32: drop goffice directory from path
Gnucash is not using goffice any more
2017-08-17 13:05:02 +02:00
Geert Janssens 7fd38c88a5 Improve a comment
My Ingrish is pretty poor at times...
2017-08-17 12:36:48 +02:00
Geert Janssens a96a68fd4e Add as many values as there are fields in the list
This wasn't causing trouble, but it looks more correct this way.
2017-08-17 12:33:08 +02:00
Geert Janssens 0946b0315f Use another way to fix backend loading on OS X 2017-08-17 10:10:50 +02:00
Geert Janssens 1883d8ec31 Fix a number of test mismatches between cmake and autotools
cmake:
- add test-app-utils
- rename test-link-module to test-link-module-app-utils
- add gtest-import-map
autotools:
- move gtest-import-map from TEST_PROGS to TESTS (autotools) so it shows up in the colored results list
2017-08-16 12:40:38 +02:00
Geert Janssens 53afd36de1 Keep the test modules from gnc-module outside of the normal GNC_MODULE_PATH
They interfere with other tests and pollute the build logs in cmake.
2017-08-16 11:59:27 +02:00
Geert Janssens 723530a9bc Merge branch 'reorganize-source-dirs' 2017-08-14 18:49:50 +02:00
Geert Janssens 3e3eead3c5 Eliminate plugins directory
bi-import and customer-import have been put with the other importers
example is moved to gnc-module as, well, an example
2017-08-14 18:17:13 +02:00
Geert Janssens 2a7f2f891a Eliminate the separate bin directory
Instead its content is moved to gnucash directly, making the gnucash directory
more meaningful.
2017-08-13 12:39:45 +02:00
Geert Janssens 53736e0842 Update .gitignore to handle all the renamed directories
At the same time clean up some obsolete entries (business-xyz)
and fix a gnc-scm-info.h -> gnc-vcs-info.h
2017-08-13 12:12:34 +02:00
Geert Janssens 4ce7be0497 Drop packaging directory
While I myself asked for it to be retained a couple of years back
I now believe it really makes no sense to keep on carrying
a completely outdated rpm spec file around. This should not
be part of the source and properly up to date and maintained
rpm spec files can be found in each rpm based distro that ships
gnucash.
2017-08-12 10:13:43 +02:00
Geert Janssens dfe8ea4536 Add conditional source files to dist tarball
They should be added even if not used on the system being used to create the dist tarball
2017-08-11 22:51:14 +02:00
Geert Janssens 0c6da2f001 Cleanup some more obscure references to no longer existing 'src' directory 2017-08-11 22:44:50 +02:00
Geert Janssens afecab330a Move accounts, checks and pixmaps into a data directory
At the same time move the art directory into contrib to unclutter the top level
2017-08-11 22:42:15 +02:00
Geert Janssens 83d14e1c1c Restructure the src directory
It is split into
- /libgnucash (for the non-gui bits)
- /gnucash (for the gui)
- /common (misc source files used by both)
- /bindings (currently only holds python bindings)

This is the first step in restructuring the code. It will need much
more fine tuning later on.
2017-08-10 18:45:00 +02:00
Geert Janssens ffc640bada Move global definitions to toplevel CMakeLists.txt 2017-08-09 17:30:59 +02:00
Geert Janssens 9de9f5362e Drop the cutecash experiment and the gtkmm optional bindings
These are currently unmaintained, cutecash us based on the obsolete qt4
and gtkmm is only used by cutecash. Whenever someone wishes to revive
this experiment it can be recovered from git history and be brought
into a separate repository.
2017-08-09 16:09:32 +02:00