Commit Graph

18873 Commits

Author SHA1 Message Date
John Ralls
66817bb997 Rework directory determination in CMake builds.
Sets paths for finding componenents depending on the state of ENABLE_BINRELOC,
GNC_UNINSTALLED, GNC_BUILDDIR and whether any install paths have been set
outside of CMAKE_INSTALL_PREFIX.

GNUInstallDirs changes the name of CMAKE_INSTALL_LIBDIR depending on the
operating system and distro. When CMAKE_INSTALL_PREFIX is /usr,
/usr/local, or any subdirectory of /opt it also changes
CMAKE_INSTALL_FULL_SYSCONFDIR to /etc. An earlier commit by Aaron Laws
mirrors the name of CMAKE_INSTALL_LIBDIR to the build library directory.

It's possible for builders to set any of the install directories
anywhere they please.

Setting any directory outside of CMAKE_INSTALL_PREFIX breaks Binreloc so
the toplevel CMakeLists.txt now detects that and disables Binreloc.

If Binreloc is enabled then all path queries use it to find paths. This
works in the build directory because the gnucash executable and all of
the test programs are in build_directory/bin and LIBDIR, DATADIR, and
SYSCONFDIR can be found in the same root path.

If Binreloc is disabled then in order to build or run programs from the
build directory one must set GNC_UNINSTALLED and set GNC_BUILDDIR to the
absolute path of the build directory. When those are set GNC_BUILDDIR
replaces CMAKE_INSTALL_PREFIX in all paths that are subdirectories of
CMAKE_INSTALL_PREFIX; paths that are not in CMAKE_INSTALL_PREFIX are
appended whole to GNC_BUILDDIR. This process is constent between CMake
and gnc_path_get_foo. GnuCash is unlikely to run from a DESTDIR without
Binreloc.
2017-12-05 17:25:52 -08:00
Rob Gowin
9dcb2037ad Partial fix for Bug 787497 - Disabling options cripples dist package
WITH_OFX, WITH_SQL and WITH_AQBANKING handling is fixed. The
dist files for these features are always included in the dist
tarball.

I added code for WITH_GNUCASH=OFF to error out when trying to
create a dist tarball. Not fully tested because WITH_GNUCASH=OFF
itself does not build.

Still need to backport fixes from unstable for WITH_PYTHON=OFF.
2017-12-02 17:59:40 -06:00
John Ralls
84929c8e5b One more stray header in libexec. 2017-12-02 10:34:07 -08:00
John Ralls
ad11afefb4 LIBDIR is not lib--two more CMakeLists.txt. 2017-12-01 20:31:44 -08:00
John Ralls
e319a16747 Remove gnucash/test.
The only purpose of which was to test overrides/gnucash-env.
2017-12-01 20:10:55 -08:00
John Ralls
fcb4bdac9e Some fixes to complete removing gnucash/overrides. 2017-12-01 19:46:09 -08:00
Rob Gowin
e7b7974a3c Handle cases where LIBDIR is not "lib"
For example, Fedora installs to lib64, Debian to lib/<arch-tuple>
2017-12-01 19:44:35 -08:00
John Ralls
2be5642a7d Fix autotools build after removing gnucash/overrides. 2017-12-01 15:25:28 -08:00
Rob Gowin
778b86e29e Handle cases where LIBDIR is not "lib"
For example, Fedora installs to lib64, Debian to lib/<arch-tuple>
2017-12-01 17:00:39 -06:00
John Ralls
0a8e50069c Remove overrides directory as being obsolete.
Also don't install qof test headers to libexec.
2017-12-01 13:56:52 -08:00
John Ralls
9b0a8723a4 More GNUInstallDirs path fixes. 2017-12-01 13:56:52 -08:00
John Ralls
a120c48fb1 Fix the fixed path to compiled guile files. 2017-12-01 08:59:51 -08:00
John Ralls
062851a8fe Fix path to compiled guile files in environment.in.
Thanks to Rob Gowin for the catch.
2017-11-30 20:15:54 -08:00
John Ralls
4a84fca9b1 Add GLIB_CFLAGS and srcdir to SWIG includes. 2017-11-30 13:32:57 -08:00
John Ralls
5ca129d82d Remove unset variable SWIG_ARGS from Makefile.am 2017-11-30 13:31:23 -08:00
Geert Janssens
649a6a263e Fix installation destinations for overrides and quotes scripts
Mentioned by Robert Gowin and Christopher Lam
2017-11-30 17:37:32 +01:00
John Ralls
41656c920e Fix python test failure on Travis.
It seems that there are two possible exceptions depending on OS.
2017-11-28 17:57:00 -08:00
John Ralls
c6ae007bda Merge branch 'PyGncNumeric' into unstable 2017-11-28 17:09:38 -08:00
Guy Taylor
744cdac5a4 Use builtin SWIG conversions for glib types
Where possible in the Python SWIG code use the builtin SWIG conversion
code over custom code. This ensures appropriate overflow/type checking.
With this I have enabled GncNumeric from longs and tested for correct
overflow handling.

Note: This could be extended to GUILE but I am not familiar enought to
safely enable this.
2017-11-28 17:08:43 -08:00
Guy Taylor
c9c5876431 Use glib.h over custom typedefs in Python SWIG
Use the native glib.h (mainly gint, gfloat ...) over custom typedefs in
SWIG type files. This is for Python only.
2017-11-28 16:27:50 -08:00
Guy Taylor
e011576e37 Add GncNumeric to native Python Fraction
Add helper method to return the native Python fraction type from GncNumeric.
2017-11-28 16:14:07 -08:00
Guy Taylor
1ef379a704 Fix Python GncNumeric for non (int, int) pairs
At current the Python GncNumeric has issues with type conversion eg.
 * GncNumeric(1.3) = 1.00
 * GncNumeric("1.3") is OK but any future methods error

This behaviour was relied on for the Account tests to pass as it used
GncNumeric(0.5) == GncNumeric(1.0) but this is not what many users would
expect.

This fix alows GncNumeric to be constructed from a (int, int)
numerator/denominator pair or int/float/str where double_to_gnc_numeric
and string_to_gnc_numeric from C is used.
2017-11-28 16:14:07 -08:00
John Ralls
5aa048e01d Fix null pointer dereference segfault.
Reported via PR 21y by github user ethaden.
This is a simpler fix than the one in the PR.
2017-11-28 15:39:41 -08:00
John Ralls
a5bf4e00a4 Merge Aaron Laws's 'unneeded-build-flag' into unstable 2017-11-28 15:16:36 -08:00
John Ralls
5204100d53 Use GNUInstallDirs in CMake Builds
Provides correct file layout when building distribution tarballs.
Fixes Bugs 790840 and 790841.
2017-11-28 14:25:35 -08:00
John Ralls
e92a1b3723 Fix python tests in tarball builds. 2017-11-28 14:25:24 -08:00
lmat
d599658603 Removing Arch Linux Autotools build
It has failed many times, but to my knowledge the failure has never been
legitimate.
2017-11-28 16:10:28 -05:00
lmat
04a4849967 Removing unneeded build flag from docker 2017-11-28 16:09:23 -05:00
John Ralls
831640b546 Remove common/test-core/unittest_support.py from git.
It's a SWIG-generated file accidentally added during directory
rearrangement.
2017-11-28 09:53:06 -08:00
John Ralls
0afef080a7 Release 2.7.2 2017-11-25 16:35:44 -08:00
John Ralls
13657ee1bb Merge branch 'maint' into unstable 2017-11-25 15:35:24 -08:00
John Ralls
50874d89da Correct GUILE_LOAD_COMPILE_PATH to include Guile's own modules as well as ours. 2017-11-25 14:55:03 -08:00
John Ralls
d8c2f52447 Correct quoting for SQL backends.
Only string values should be quoted in queries; in particular NULL
isn't a string value and must not be quoted.
Note that this is a less than perfect solution because it doesn't use
the Database's quoting function and so doesn't escape quotes, linefeeds,
or carriage returns inside the string. That's because the SQL generating
logic is independent of the connection class and can't easily get to it.
2017-11-25 14:46:31 -08:00
Geert Janssens
037c93faea Merge branch 'gtk3-update8' of https://github.com/Bob-IT/gnucash into unstable 2017-11-24 17:24:52 +01:00
Jose Marino
1e81d3ace2 report: fix default colors incorrectly set to transparent
The default color of a color option is set during a call to "gnc:make-color-option"
as a list of rgba values. In all color option instances in the scheme code this
default color is incorrectly set to transparent.
For example, white color was being set with:
  (list #xff #xff #xff 0)
The last value in the list is the value of the alpha channel, with 0 meaning
transparent. When the color button is displayed in the gui it shows a checkerboard
pattern instead of the intended color.

This commit changes all default colors of color options to have alpha=#xff, i.e.,
fully opaque.
2017-11-24 17:08:05 +01:00
John Ralls
9c4635e393 Bug 784623 - GNUCash does not work with sql backend.
Wherin the problem is that MySQL's TIMESTAMP has a date range of
1970-01-01 00:00:01 to 2038-01-19 03:14:07 and is unable to handle
time_t of 0. MySQL's TIMESTAMP also assumes that input is in the server's
timezone and adjusts it to UTC. GnuCash has already done that conversion.
2017-11-23 11:41:09 -08:00
Rob Gowin
0d8112bfef Bug 790620 - Failed to create file “/usr/share/glib-2.0/schemas/gschemas.compiled.XY789Y”
Changed install rule for gschema.compiled to use a target.
2017-11-23 10:50:43 -05:00
Robert Fewell
22e7e1b440 Fix some corrupted glade files 2017-11-23 13:57:10 +00:00
Robert Fewell
761d40918d Change assistant-ab-initial.glade to gtk3.10 version 2017-11-23 13:56:36 +00:00
Robert Fewell
baf7575f1d Replace deprecated GTK_STOCK_ macro identifiers 2017-11-23 13:55:58 +00:00
Robert Fewell
a5d15de426 Change a couple of deprecated functions in gnc-html-webkit1.c 2017-11-23 13:55:19 +00:00
Robert Fewell
99f2283d83 Control the toggle button width
There did not seem to be an easier way to control the toggle button
width so created a custom one based on the GtkToggleButton. This
allowed the use of the class function get_preferred_width which is set
at two thirds the height.
2017-11-23 13:54:40 +00:00
Robert Fewell
c5f483d115 Move the double line to be inside the cursor cell 2017-11-23 13:54:03 +00:00
Robert Fewell
78ec2e339e If a font size is specified for the sheet, popup size may be wrong
When you specify a font size for the sheet, the popup will inherit this
but when first popped it will use the minimum height value and so may
be different resulting in not being in the right position. So check on
allocation and if different remove and pop again.
2017-11-23 13:53:25 +00:00
Robert Fewell
67e4b35294 Use previously created functions
Use the previously created functions to reduce code and for conformity.
As part of this some variables were renamed to be common.
2017-11-23 13:52:43 +00:00
Robert Fewell
8a6ce10aa8 Provide two functions for common code
These two sections of code appear in three separate files in slightly
different versions so define them hear for conformity
2017-11-23 13:52:02 +00:00
Robert Fewell
1b52053d2e This function doesn't do much and is only used for new account registers
This function is used to get the width of the toggle button and add it
to the sample text length to set the default column width. As the it is
square, just use the row height instead and the user will no doubt set
there own widths any way.
2017-11-23 13:51:25 +00:00
Robert Fewell
ed4bad34a7 Adjust the sheet to get its spacings from the item_edit CSS 2017-11-23 13:50:42 +00:00
Robert Fewell
2a476cb68a Get the item_edit cell padding from CSS instead of defines
This commit sets up getting the vertical and horizontal item_edit cell
margins, borders and padding from CSS. This increases the option to
specify individual values for top, right, bottom and left instead of
just specifying just two values.
2017-11-23 13:50:01 +00:00
Robert Fewell
bbafb8184e Replace the cell foreground and background colour handlers
By using CSS classes, there is no need to have separate handlers for
the foreground and background colours so replace them with one being of
a similar format to that of cell_border_handlers. This also involves
changing the map of RegisterColors to CSS style classes to reflect the
changes and reduce the get colour type to one call per class
2017-11-23 13:49:00 +00:00