Most are converted to GtkLayout/GtkiDrawingArea widgets as these
most closely approach the GnomeCanvas concept.
This currently builds and runs but has the following issues still:
- item edit isn't drawn properly (margin and offset issues)
- cursor is not handled properly yet
These will be handled in subsequent commits.
At the same time require --std=gnu11 instead of --sdt=gnu99.
This allows us to drop some conditionals is several places. I've
chosen 2.4 as that is the version available in travis, which appears to
be the oldest platform care about. Debian stable has 2.46 in backports,
our windows environment has 2.42
This was still pulled in via the now removed gnc-csv-model.
In order to remove this, the fixed format csv importer
has been tweaked to get the required features from
the c++ csv importer code instead.
We're using only a tiny fraction of that library.
Adding it directly in the gnucash source saves a large dependency chain.
Note this is a verbatim copy of these files from
https://github.com/GNOME/goffice/tree/GOFFICE_0_8_17
to preserve a clean link with it's origin.
It will only build correctly after the next commit.
All c++ unit tests will be written with it, and testing
should be possible out of the box.
We could make it optional, but then lots of tests will
be skipped. This creates an illusion of all tests passing
while many are simply not run. This confusion should be
avoided.
This change depends on a second commit for the windows build
in the gnucash-on-windows repository. This commit will be
pushed at the same time.
This was an ugly work-around for a bogus warning from gcc-3, a
long-superceded compiler. The way the macro was written caused
portablility issues (see PR 102) and other projects (gstreamer
in particular) removed it several years ago.
Thanks to Julian Ospald for bringing it to our attention.
The fundamental problem is https://sourceforge.net/p/libofx/bugs/39.
Work around it by detecting it at configure time and if present check
to see if the time in question is not daylight time. If that's the case,
determine the daylight time offset and add it back to the timestamp.
Although we test libgtest_main, we don't test for libgmock_main. This
shouldn't be necessary since gmock was absorbed by gtest in upstream,
so I'm not planning on working hard to correct this problem robustly.
We'll just check for the source files in the other location where they
might be.
The TP translation hadn't been maintained in over 10 years and there's
no evidence of an active TP pt team. TP coordinator has marked pt as
'external' in TP configuration.
This is a workaround for MacOS X 10.11's System Integrity Protection,
aka SIP, which among other things prevents system binaries from passing
linker environment variables to children. Anything in /bin or /usr/bin
qualifies as a system binary, and that includes /bin/sh and /bin/bash.
Not being able to pass linker paths breaks all of our guile tests which
need to tell Guile where to look for the libraries being tested.
To apply the workaround one needs to first have a shell outside of /bin
and /usr/bin. Simply copying /bin/sh to your home direcory works, as
does building a suitable shell somewhere. Just pass the path to that
shell in $CONFIG_SHELL to configure and all of the shell scripts and
libtool .la files will be created with it in the shebang line and the
linker environment variables will be passed in.
In order to build GnuCash in the first place you'll also need to edit
guild to use the alternate shell.