* [gentoo-commits] repo/gentoo:master commit in: app-office/gnucash/, app-office/gnucash/files/
@ 2018-08-29 10:48 Aaron Swenson
0 siblings, 0 replies; 16+ messages in thread
From: Aaron Swenson @ 2018-08-29 10:48 UTC (permalink / raw
To: gentoo-commits
commit: 37c1feba2c76814bb66da36d7fd8916396a99037
Author: Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 29 10:47:53 2018 +0000
Commit: Aaron Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Wed Aug 29 10:47:53 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=37c1feba
app-office/gnucash: Add option to disable GUI
Thanks to Reimundo Heluani for working on this.
Closes: https://bugs.gentoo.org/651200
Package-Manager: Portage-2.3.40, Repoman-2.3.9
app-office/gnucash/files/gnucash-3.2-no-gui.patch | 14 ++
app-office/gnucash/gnucash-3.2-r1.ebuild | 173 ++++++++++++++++++++++
app-office/gnucash/metadata.xml | 4 +
3 files changed, 191 insertions(+)
diff --git a/app-office/gnucash/files/gnucash-3.2-no-gui.patch b/app-office/gnucash/files/gnucash-3.2-no-gui.patch
new file mode 100644
index 00000000000..896aafd17f1
--- /dev/null
+++ b/app-office/gnucash/files/gnucash-3.2-no-gui.patch
@@ -0,0 +1,14 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5e10a09..cdbdb7a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -770,7 +770,9 @@ set(SCHEME_INSTALLED_CACHE_DIR ${PKGLIBDIR}/scm/ccache/${GUILE_EFFECTIVE_VERSION
+ # The subdirectories
+ add_subdirectory (borrowed)
+ add_subdirectory (data)
++if (WITH_GNUCASH)
+ add_subdirectory (doc)
++endif (WITH_GNUCASH)
+ add_subdirectory (po)
+ add_subdirectory (common)
+ add_subdirectory (libgnucash)
diff --git a/app-office/gnucash/gnucash-3.2-r1.ebuild b/app-office/gnucash/gnucash-3.2-r1.ebuild
new file mode 100644
index 00000000000..64b817987f9
--- /dev/null
+++ b/app-office/gnucash/gnucash-3.2-r1.ebuild
@@ -0,0 +1,173 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# google{test,mock} version
+GV="1.8.0"
+PYTHON_COMPAT=( python3_{4,5,6} )
+
+inherit cmake-utils gnome2-utils python-single-r1 xdg-utils
+
+DESCRIPTION="A personal finance manager"
+HOMEPAGE="http://www.gnucash.org/"
+SRC_URI="https://github.com/Gnucash/${PN}/releases/download/${PV}/${P}.tar.bz2
+ https://github.com/google/googletest/archive/release-${GV}.tar.gz -> gtest-${GV}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+
+IUSE="aqbanking chipcard debug doc examples gnome-keyring mysql nls ofx postgres
+ python quotes -register2 sqlite +gui"
+REQUIRED_USE="
+ chipcard? ( aqbanking )
+ python? ( ${PYTHON_REQUIRED_USE} )"
+
+# libdbi version requirement for sqlite taken from bug #455134
+#
+# dev-libs/boost must always be built with nls enabled.
+RDEPEND="
+ >=dev-libs/glib-2.40.0:2
+ >=dev-libs/libxml2-2.7.0:2
+ >=sys-libs/zlib-1.1.4
+ >=dev-scheme/guile-2.0.0:12=[regex]
+ gui? (
+ gnome-base/dconf
+ net-libs/webkit-gtk:4=
+ >=x11-libs/gtk+-3.14.0:3
+ )
+ dev-libs/boost:=[icu,nls]
+ dev-libs/icu:=
+ dev-libs/libxslt
+ aqbanking? (
+ >=net-libs/aqbanking-5[gtk,ofx?]
+ sys-libs/gwenhywfar[gtk]
+ chipcard? ( sys-libs/libchipcard )
+ )
+ gnome-keyring? ( >=app-crypt/libsecret-0.18 )
+ mysql? (
+ dev-db/libdbi
+ dev-db/libdbi-drivers[mysql]
+ )
+ ofx? ( >=dev-libs/libofx-0.9.1 )
+ postgres? (
+ dev-db/libdbi
+ dev-db/libdbi-drivers[postgres]
+ )
+ python? ( ${PYTHON_DEPS} )
+ quotes? (
+ >=dev-perl/Finance-Quote-1.11
+ dev-perl/Date-Manip
+ dev-perl/HTML-TableExtract
+ )
+ sqlite? (
+ >=dev-db/libdbi-0.9.0
+ >=dev-db/libdbi-drivers-0.9.0[sqlite]
+ )
+"
+
+DEPEND="${RDEPEND}
+ ~dev-cpp/gtest-${GV}
+ >=sys-devel/gettext-0.19.6
+ dev-lang/perl
+ dev-perl/XML-Parser
+ gui? ( gnome-base/gnome-common )
+ sys-devel/libtool
+ virtual/pkgconfig
+"
+
+PDEPEND="doc? (
+ ~app-doc/gnucash-docs-${PV}
+ gnome-extra/yelp
+)"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+ xdg_environment_reset
+}
+
+src_prepare() {
+ use gui || eapply "${FILESDIR}"/${PN}-3.2-no-gui.patch
+ default
+}
+
+src_configure() {
+ local sql_on_off="OFF"
+ if use mysql || use postgres || use sqlite ; then
+ sql_on_off="ON"
+ fi
+
+ local mycmakeargs=(
+ -DGMOCK_ROOT="${WORKDIR}"/googletest-release-${GV}/googlemock
+ -DGTEST_ROOT="${WORKDIR}"/googletest-release-${GV}/googletest
+
+ -DDISABLE_NLS=$(usex !nls)
+ -DENABLE_REGISTER2=$(usex register2)
+ -DWITH_AQBANKING=$(usex aqbanking)
+ -DWITH_OFX=$(usex ofx)
+ -DWITH_PYTHON=$(usex python)
+ -DWITH_SQL=${sql_on_off}
+ -DWITH_GNUCASH=$(usex gui)
+ )
+
+ cmake-utils_src_configure
+}
+
+src_test() {
+ if use python ; then
+ cp common/test-core/unittest_support.py \
+ "${BUILD_DIR}"/common/test-core/ || die
+ fi
+
+ cd "${BUILD_DIR}" || die
+ XDG_DATA_HOME="${T}/$(whoami)" emake check
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ rm "${ED%/}"/usr/share/doc/${PF}/README.dependencies || die
+
+ if use gui ; then
+ rm "${ED%/}"/usr/share/glib-2.0/schemas/gschemas.compiled || die
+ fi
+
+ if use examples ; then
+ mv "${ED%/}"/usr/share/doc/gnucash \
+ "${ED%/}"/usr/share/doc/${PF}/examples || die
+ pushd "${ED%/}"/usr/share/doc/${PF}/examples/ > /dev/null || die
+ rm AUTHORS DOCUMENTERS LICENSE NEWS projects.html ChangeLog* \
+ *win32-bin.txt || die
+ popd > /dev/null || die
+ docompress -x /usr/share/doc/${PF}/examples/
+ else
+ rm -r "${ED%/}"/usr/share/doc/gnucash || die
+ fi
+
+ use aqbanking && dodoc doc/README.HBCI
+ use ofx && dodoc doc/README.OFX
+}
+
+pkg_postinst() {
+ if use gui ; then
+ gnome2_icon_cache_update
+ gnome2_schemas_update
+ fi
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+
+ ewarn "Backup all financial files or databases before using GnuCash >=2.7.0!"
+ ewarn
+ ewarn "GnuCash 2.7.0 introduced large changes in its file format and database"
+ ewarn "schema that WILL prevent you from reverting back to GnuCash 2.6."
+}
+
+pkg_postrm() {
+ if use gui ; then
+ gnome2_icon_cache_update
+ gnome2_schemas_update
+ fi
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+}
diff --git a/app-office/gnucash/metadata.xml b/app-office/gnucash/metadata.xml
index f0b8ab6233e..3ce30180150 100644
--- a/app-office/gnucash/metadata.xml
+++ b/app-office/gnucash/metadata.xml
@@ -16,6 +16,10 @@
<flag name="chipcard">
Enable support for chipcard reading and processing.
</flag>
+ <flag name="gui">
+ Enable graphic interface (needs net-libs/webkit-gtk:4
+ and x11-libs/gtk+:3)
+ </flag>
<flag name="quotes">Enable Online Stock Quote retrieval</flag>
<flag name="register2">Use the new register (Experimental)</flag>
</use>
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-office/gnucash/, app-office/gnucash/files/
@ 2024-12-26 10:19 Sam James
0 siblings, 0 replies; 16+ messages in thread
From: Sam James @ 2024-12-26 10:19 UTC (permalink / raw
To: gentoo-commits
commit: c9c68d05e8fcaa3dd8be3a9b38b2070f3115dd7d
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 26 10:17:09 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Dec 26 10:17:13 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c9c68d05
app-office/gnucash: backport guile load fixes to 5.8-r100
Backport the changes from 72dbf2ec4049df11ad63576971883ee239eadb7f.
This allows easier testing of the fixes (because of the nature of them
involving an upgrade/downgrade).
Bug: https://bugs.gentoo.org/941426
Bug: https://bugs.gentoo.org/946388
Signed-off-by: Sam James <sam <AT> gentoo.org>
...ath.patch => gnucash-5.8-guile-load-path.patch} | 0
app-office/gnucash/gnucash-5.10.ebuild | 2 +-
app-office/gnucash/gnucash-5.8-r100.ebuild | 39 ++++++++++++++--------
3 files changed, 26 insertions(+), 15 deletions(-)
diff --git a/app-office/gnucash/files/gnucash-5.10-guile-load-path.patch b/app-office/gnucash/files/gnucash-5.8-guile-load-path.patch
similarity index 100%
rename from app-office/gnucash/files/gnucash-5.10-guile-load-path.patch
rename to app-office/gnucash/files/gnucash-5.8-guile-load-path.patch
diff --git a/app-office/gnucash/gnucash-5.10.ebuild b/app-office/gnucash/gnucash-5.10.ebuild
index f258c56acd5f..acc455214339 100644
--- a/app-office/gnucash/gnucash-5.10.ebuild
+++ b/app-office/gnucash/gnucash-5.10.ebuild
@@ -118,7 +118,7 @@ PATCHES=(
# https://bugs.gentoo.org/893676
"${FILESDIR}/${PN}-5.0-webkit2gtk-4.1.patch"
"${FILESDIR}/${P}-import-qif.patch"
- "${FILESDIR}/${PN}-5.10-guile-load-path.patch"
+ "${FILESDIR}/${PN}-5.8-guile-load-path.patch"
)
pkg_setup() {
diff --git a/app-office/gnucash/gnucash-5.8-r100.ebuild b/app-office/gnucash/gnucash-5.8-r100.ebuild
index dec0d06fe71f..abfe06c45785 100644
--- a/app-office/gnucash/gnucash-5.8-r100.ebuild
+++ b/app-office/gnucash/gnucash-5.8-r100.ebuild
@@ -10,21 +10,19 @@ PYTHON_COMPAT=( python3_{10..12} )
inherit cmake flag-o-matic gnome2-utils guile-single python-single-r1
# Please bump with app-doc/gnucash-docs
-DESCRIPTION="A personal finance manager"
+DESCRIPTION="Personal finance manager"
HOMEPAGE="https://www.gnucash.org/"
SRC_URI="https://github.com/Gnucash/gnucash/releases/download/${PV}/${P}.tar.bz2"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="amd64 ~arm64 ~ppc ~ppc64 ~riscv x86"
-
IUSE="aqbanking debug doc examples gnome-keyring +gui mysql nls ofx postgres python quotes smartcard sqlite test"
-
-# Currently restricting due to the following:
-# https://bugs.gnucash.org/show_bug.cgi?id=799159#c1
-#
-# Tests can be run but must first unmerge any existing GnuCash installation.
-RESTRICT="test"
+# Tests were previously restricted because guile would try to use installed,
+# not just-built modules. See https://bugs.gnucash.org/show_bug.cgi?id=799159#c1.
+# TODO: as of 5.10, the ebuild should handle this OK. If no issues come up,
+# need to forward those findings (and tidy up the patch for) upstream.
+RESTRICT="!test? ( test )"
# Examples doesn't build unless GUI is also built
REQUIRED_USE="
@@ -116,15 +114,13 @@ PATCHES=(
"${FILESDIR}/${PN}-5.0-exclude-license.patch"
"${FILESDIR}/${PN}-4.12-drop-broken-test.patch"
"${FILESDIR}/${PN}-5.6-no-werror.patch"
-
# This is only to prevent webkit2gtk-4 from being selected.
# https://bugs.gentoo.org/893676
"${FILESDIR}/${PN}-5.0-webkit2gtk-4.1.patch"
-
# GCC 15 backport
"${FILESDIR}/${PN}-5.8-gcc15.patch"
-
"${FILESDIR}/${PN}-5.8-boost-1.87.patch"
+ "${FILESDIR}/${PN}-5.8-guile-load-path.patch"
)
pkg_setup() {
@@ -155,13 +151,16 @@ src_prepare() {
libgnucash/backend/dbi/test/test-backend-dbi-basic.cpp
libgnucash/backend/xml/test/test-xml-pricedb.cpp
)
+ local x
for x in "${fixtestfiles[@]}"; do
sed -i -e "s|\"/tmp/|\"${T}/|g" "${S}/${x}" || die "sed of ${S}/${x} failed"
done
}
src_configure() {
- export GUILE_AUTO_COMPILE=0
+ # Used in src_test but the value has to be available at `cmake`
+ # generation time.
+ export GENTOO_TEMPORARY_TEST_INSTALLDIR="${BUILD_DIR}/test_install"
local sql_on_off="OFF"
if use mysql || use postgres || use sqlite ; then
@@ -203,8 +202,20 @@ src_test() {
fi
cd "${BUILD_DIR}" || die "Failed to enter ${BUILD_DIR}"
- XDG_DATA_HOME="${T}/$(whoami)" eninja check
- cmake_src_test
+
+ # We need e.g. `options.scm` to be available for loading by tests
+ # and the compiled `options.go` isn't enough. Do a temporary install
+ # for the benefit of the testsuite.
+ DESTDIR="${GENTOO_TEMPORARY_TEST_INSTALLDIR}" cmake_build install
+ # This is needed for `load-path` to be correct, as it lacks `/usr` in there.
+ local dir
+ for dir in bin include "$(get_libdir)" share ; do
+ ln -s "${GENTOO_TEMPORARY_TEST_INSTALLDIR}/usr/${dir}" "${GENTOO_TEMPORARY_TEST_INSTALLDIR}/${dir}" || die
+ done
+
+ # Avoid cmake_src_test as we don't get the test binaries built first
+ # and get various failures as a result. Copy what upstream do in CI.
+ eninja check
}
src_install() {
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-office/gnucash/, app-office/gnucash/files/
@ 2024-12-26 10:19 Sam James
0 siblings, 0 replies; 16+ messages in thread
From: Sam James @ 2024-12-26 10:19 UTC (permalink / raw
To: gentoo-commits
commit: f8170672b2949a23581c166284e09370bb195773
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 26 10:09:46 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Dec 26 10:09:46 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f8170672
app-office/gnucash: backport boost-1.87 fix
This allows easier testing of the bug #941426 fix.
Closes: https://bugs.gentoo.org/946388
Bug: https://bugs.gentoo.org/941426
Signed-off-by: Sam James <sam <AT> gentoo.org>
app-office/gnucash/files/gnucash-5.8-boost-1.87.patch | 12 ++++++++++++
app-office/gnucash/gnucash-5.8-r100.ebuild | 2 ++
2 files changed, 14 insertions(+)
diff --git a/app-office/gnucash/files/gnucash-5.8-boost-1.87.patch b/app-office/gnucash/files/gnucash-5.8-boost-1.87.patch
new file mode 100644
index 000000000000..55263705a4b7
--- /dev/null
+++ b/app-office/gnucash/files/gnucash-5.8-boost-1.87.patch
@@ -0,0 +1,12 @@
+https://bugs.gentoo.org/946388
+--- a/libgnucash/app-utils/gnc-quotes.cpp 2024-12-13 17:18:10.294664737 -0800
++++ b/libgnucash/app-utils/gnc-quotes.cpp 2024-12-13 17:18:31.410866021 -0800
+@@ -212,7 +212,7 @@ GncFQQuoteSource::run_cmd (const StrVec&
+ try
+ {
+ std::future<std::vector<char> > out_buf, err_buf;
+- boost::asio::io_service svc;
++ boost::asio::io_context svc;
+
+ auto input_buf = bp::buffer (json_string);
+ bp::child process;
diff --git a/app-office/gnucash/gnucash-5.8-r100.ebuild b/app-office/gnucash/gnucash-5.8-r100.ebuild
index 028e4e012a61..dec0d06fe71f 100644
--- a/app-office/gnucash/gnucash-5.8-r100.ebuild
+++ b/app-office/gnucash/gnucash-5.8-r100.ebuild
@@ -123,6 +123,8 @@ PATCHES=(
# GCC 15 backport
"${FILESDIR}/${PN}-5.8-gcc15.patch"
+
+ "${FILESDIR}/${PN}-5.8-boost-1.87.patch"
)
pkg_setup() {
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-office/gnucash/, app-office/gnucash/files/
@ 2024-12-26 9:57 Sam James
0 siblings, 0 replies; 16+ messages in thread
From: Sam James @ 2024-12-26 9:57 UTC (permalink / raw
To: gentoo-commits
commit: 72dbf2ec4049df11ad63576971883ee239eadb7f
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 26 09:41:40 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Dec 26 09:55:46 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=72dbf2ec
app-office/gnucash: don't use installed copy of gnucash for build or tests
Per https://www.gnu.org/software/guile/manual/html_node/Foreign-Libraries.html,
newer guile (>= 3.0.6) will respect GUILE_EXTENSIONS_PATH when looking up paths for
`dlopen` for `load-extension` -> `load-foreign-library`. Older guiles will use
`LTDL_LIBRARY_PATH` instead.
Without this set, the system paths are checked instead (maybe falling back
to another variable if not found on the system, unclear), and we end up
with build failures when we try to mix system and just-built gnucash (this
is also obviously a problem for testing as well).
For tests, we additionally have to do a "fake install" in ${BUILD_DIR}/whatever
and we set the path to that in the ebuild with GENTOO_TEMPORARY_TEST_INSTALLDIR.
https://www.gnu.org/software/guile/manual/html_node/Load-Paths.html and
https://www.gnu.org/software/guile/manual/html_node/Environment-Variables.html were
also a lot of help.
(When testing w/ guile-2.2 briefly, it didn't seem that we needed
to set LTDL_LIBRARY_PATH, but someone can add that if it turns out to be
needed, or I may later.)
(With regard to GUILE_AUTO_COMPILE=0, dropped that as it doesn't seem
necessary. Plan is to also add GUILE_AUTO_COMPILE=fresh to the eclass,
am discussing it w/ Arsen.)
Bug: https://bugs.gnucash.org/show_bug.cgi?id=799159
Bug: https://bugs.gentoo.org/359033
Bug: https://bugs.gentoo.org/371264
Bug: https://bugs.gentoo.org/734286
Bug: https://bugs.gentoo.org/946927
Closes: https://bugs.gentoo.org/941426
Signed-off-by: Sam James <sam <AT> gentoo.org>
.../files/gnucash-5.10-guile-load-path.patch | 96 ++++++++++++++++++++++
app-office/gnucash/gnucash-5.10.ebuild | 33 ++++++--
2 files changed, 120 insertions(+), 9 deletions(-)
diff --git a/app-office/gnucash/files/gnucash-5.10-guile-load-path.patch b/app-office/gnucash/files/gnucash-5.10-guile-load-path.patch
new file mode 100644
index 000000000000..0a488817f547
--- /dev/null
+++ b/app-office/gnucash/files/gnucash-5.10-guile-load-path.patch
@@ -0,0 +1,96 @@
+From 59c0a848aeab5a600f40962b359395e4dca57537 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Thu, 26 Dec 2024 09:55:15 +0000
+Subject: [PATCH] Don't use installed copy of gnucash for build or tests
+
+Per https://www.gnu.org/software/guile/manual/html_node/Foreign-Libraries.html,
+newer guile (>= 3.0.6) will respect GUILE_EXTENSIONS_PATH when looking up paths for
+`dlopen` for `load-extension` -> `load-foreign-library`. Older guiles will use
+`LTDL_LIBRARY_PATH` instead.
+
+Without this set, the system paths are checked instead (maybe falling back
+to another variable if not found on the system, unclear), and we end up
+with build failures when we try to mix system and just-built gnucash (this
+is also obviously a problem for testing as well).
+
+For tests, we additionally have to do a "fake install" in ${BUILD_DIR}/whatever
+and we set the path to that in the ebuild with GENTOO_TEMPORARY_TEST_INSTALLDIR.
+
+https://www.gnu.org/software/guile/manual/html_node/Load-Paths.html and
+https://www.gnu.org/software/guile/manual/html_node/Environment-Variables.html were
+also a lot of help.
+
+(When testing w/ guile-2.2 briefly, it didn't seem that we needed
+to set LTDL_LIBRARY_PATH, but someone can add that if it turns out to be
+needed, or I may later.)
+
+(With regard to GUILE_AUTO_COMPILE=0, dropped that as it doesn't seem
+necessary. Plan is to also add GUILE_AUTO_COMPILE=fresh to the eclass,
+am discussing it w/ Arsen.)
+
+Bug: https://bugs.gnucash.org/show_bug.cgi?id=799159
+Bug: https://bugs.gentoo.org/359033
+Bug: https://bugs.gentoo.org/371264
+Bug: https://bugs.gentoo.org/734286
+Bug: https://bugs.gentoo.org/946927
+Closes: https://bugs.gentoo.org/941426
+Signed-off-by: Sam James <sam@gentoo.org>
+---
+ common/cmake_modules/GncAddSchemeTargets.cmake | 2 ++
+ common/cmake_modules/GncAddTest.cmake | 6 ++++++
+ 2 files changed, 8 insertions(+)
+
+diff --git a/common/cmake_modules/GncAddSchemeTargets.cmake b/common/cmake_modules/GncAddSchemeTargets.cmake
+index 9a038de..bab89bf 100644
+--- a/common/cmake_modules/GncAddSchemeTargets.cmake
++++ b/common/cmake_modules/GncAddSchemeTargets.cmake
+@@ -253,6 +253,7 @@ function(gnc_add_scheme_targets _TARGET)
+ make_win32_path_list(LIBRARY_PATH)
+ else()
+ set (LIBRARY_PATH "LD_LIBRARY_PATH=${LIBDIR_BUILD}:${LIBDIR_BUILD}/gnucash:$ENV{LD_LIBRARY_PATH}")
++ set (GUILE_EXTENSIONS_PATH "GUILE_EXTENSIONS_PATH=${LIBDIR_BUILD}:${LIBDIR_BUILD}/gnucash:$ENV{GUILE_EXTENSIONS_PATH}")
+ endif()
+ if (APPLE)
+ set (LIBRARY_PATH "DYLD_LIBRARY_PATH=${LIBDIR_BUILD}:${LIBDIR_BUILD}/gnucash:$ENV{DYLD_LIBRARY_PATH}")
+@@ -281,6 +282,7 @@ function(gnc_add_scheme_targets _TARGET)
+ #We quote the arguments to stop CMake stripping the path separators.
+ set (GUILE_ENV
+ "${LIBRARY_PATH}"
++ "${GUILE_EXTENSIONS_PATH}"
+ "GNC_UNINSTALLED=YES"
+ "GNC_BUILDDIR=${CMAKE_BINARY_DIR}"
+ "GUILE_LOAD_PATH=${_GUILE_LOAD_PATH}"
+diff --git a/common/cmake_modules/GncAddTest.cmake b/common/cmake_modules/GncAddTest.cmake
+index ce12e8b..9ab2cc2 100644
+--- a/common/cmake_modules/GncAddTest.cmake
++++ b/common/cmake_modules/GncAddTest.cmake
+@@ -13,6 +13,7 @@ function(get_guile_env)
+ endif()
+ if (UNIX)
+ list(APPEND env "LD_LIBRARY_PATH=${_GNC_MODULE_PATH}:$ENV{LD_LIBRARY_PATH}")
++ list(APPEND env "GUILE_EXTENSIONS_PATH=${LIBDIR_BUILD}:${LIBDIR_BUILD}/gnucash:$ENV{GUILE_EXTENSIONS_PATH}")
+ endif()
+ if (MINGW64)
+ set(fpath "")
+@@ -32,6 +33,8 @@ function(get_guile_env)
+ list(APPEND env "GUILE=${GUILE_EXECUTABLE}")
+
+ set(guile_load_paths "")
++ list(APPEND guile_load_paths "$ENV{GENTOO_TEMPORARY_TEST_INSTALLDIR}/${GUILE_REL_SITEDIR}")
++ list(APPEND guile_load_paths "$ENV{GENTOO_TEMPORARY_TEST_INSTALLDIR}/${GUILE_REL_SITEDIR}/gnucash/deprecated") # Path to gnucash' deprecated modules
+ list(APPEND guile_load_paths "${CMAKE_BINARY_DIR}/${GUILE_REL_SITEDIR}")
+ list(APPEND guile_load_paths "${CMAKE_BINARY_DIR}/${GUILE_REL_SITEDIR}/gnucash/deprecated") # Path to gnucash' deprecated modules
+ if (GUILE_COVERAGE)
+@@ -46,6 +49,9 @@ function(get_guile_env)
+ set(guile_load_path "${guile_load_paths}")
+
+ set(guile_load_compiled_paths "")
++ list(APPEND guile_load_compiled_paths "$ENV{GENTOO_TEMPORARY_TEST_INSTALLDIR}/${GUILE_REL_SITECCACHEDIR}")
++ list(APPEND guile_load_compiled_paths "$ENV{GENTOO_TEMPORARY_TEST_INSTALLDIR}/${GUILE_REL_SITECCACHEDIR}/gnucash/deprecated")
++ list(APPEND guile_load_compiled_paths "$ENV{GENTOO_TEMPORARY_TEST_INSTALLDIR}/${GUILE_REL_SITECCACHEDIR}/tests")
+ list(APPEND guile_load_compiled_paths "${CMAKE_BINARY_DIR}/${GUILE_REL_SITECCACHEDIR}")
+ list(APPEND guile_load_compiled_paths "${CMAKE_BINARY_DIR}/${GUILE_REL_SITECCACHEDIR}/gnucash/deprecated")
+ list(APPEND guile_load_compiled_paths "${CMAKE_BINARY_DIR}/${GUILE_REL_SITECCACHEDIR}/tests")
+--
+2.47.1
+
diff --git a/app-office/gnucash/gnucash-5.10.ebuild b/app-office/gnucash/gnucash-5.10.ebuild
index bd528c080bdd..f258c56acd5f 100644
--- a/app-office/gnucash/gnucash-5.10.ebuild
+++ b/app-office/gnucash/gnucash-5.10.ebuild
@@ -18,12 +18,11 @@ LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~riscv ~x86"
IUSE="aqbanking debug doc examples gnome-keyring +gui mysql nls ofx postgres python quotes smartcard sqlite test"
-
-# Currently restricting due to the following:
-# https://bugs.gnucash.org/show_bug.cgi?id=799159#c1
-#
-# Tests can be run but must first unmerge any existing GnuCash installation.
-RESTRICT="test"
+# Tests were previously restricted because guile would try to use installed,
+# not just-built modules. See https://bugs.gnucash.org/show_bug.cgi?id=799159#c1.
+# TODO: as of 5.10, the ebuild should handle this OK. If no issues come up,
+# need to forward those findings (and tidy up the patch for) upstream.
+RESTRICT="!test? ( test )"
# Examples doesn't build unless GUI is also built
REQUIRED_USE="
@@ -119,6 +118,7 @@ PATCHES=(
# https://bugs.gentoo.org/893676
"${FILESDIR}/${PN}-5.0-webkit2gtk-4.1.patch"
"${FILESDIR}/${P}-import-qif.patch"
+ "${FILESDIR}/${PN}-5.10-guile-load-path.patch"
)
pkg_setup() {
@@ -149,13 +149,16 @@ src_prepare() {
libgnucash/backend/dbi/test/test-backend-dbi-basic.cpp
libgnucash/backend/xml/test/test-xml-pricedb.cpp
)
+ local x
for x in "${fixtestfiles[@]}"; do
sed -i -e "s|\"/tmp/|\"${T}/|g" "${S}/${x}" || die "sed of ${S}/${x} failed"
done
}
src_configure() {
- export GUILE_AUTO_COMPILE=0
+ # Used in src_test but the value has to be available at `cmake`
+ # generation time.
+ export GENTOO_TEMPORARY_TEST_INSTALLDIR="${BUILD_DIR}/test_install"
local sql_on_off="OFF"
if use mysql || use postgres || use sqlite ; then
@@ -197,8 +200,20 @@ src_test() {
fi
cd "${BUILD_DIR}" || die "Failed to enter ${BUILD_DIR}"
- XDG_DATA_HOME="${T}/$(whoami)" eninja check
- cmake_src_test
+
+ # We need e.g. `options.scm` to be available for loading by tests
+ # and the compiled `options.go` isn't enough. Do a temporary install
+ # for the benefit of the testsuite.
+ DESTDIR="${GENTOO_TEMPORARY_TEST_INSTALLDIR}" cmake_build install
+ # This is needed for `load-path` to be correct, as it lacks `/usr` in there.
+ local dir
+ for dir in bin include "$(get_libdir)" share ; do
+ ln -s "${GENTOO_TEMPORARY_TEST_INSTALLDIR}/usr/${dir}" "${GENTOO_TEMPORARY_TEST_INSTALLDIR}/${dir}" || die
+ done
+
+ # Avoid cmake_src_test as we don't get the test binaries built first
+ # and get various failures as a result. Copy what upstream do in CI.
+ eninja check
}
src_install() {
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-office/gnucash/, app-office/gnucash/files/
@ 2024-12-26 2:54 Sam James
0 siblings, 0 replies; 16+ messages in thread
From: Sam James @ 2024-12-26 2:54 UTC (permalink / raw
To: gentoo-commits
commit: 9a46cee32584b037d7a7d69df35865d48c6cc1bc
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 26 02:52:37 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Dec 26 02:52:37 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9a46cee3
app-office/gnucash: add 5.10
Closes: https://bugs.gentoo.org/946388
Signed-off-by: Sam James <sam <AT> gentoo.org>
app-office/gnucash/Manifest | 1 +
.../gnucash/files/gnucash-5.10-import-qif.patch | 27 +++
app-office/gnucash/gnucash-5.10.ebuild | 232 +++++++++++++++++++++
3 files changed, 260 insertions(+)
diff --git a/app-office/gnucash/Manifest b/app-office/gnucash/Manifest
index 1aff3f34241a..6e7c82bc073d 100644
--- a/app-office/gnucash/Manifest
+++ b/app-office/gnucash/Manifest
@@ -1 +1,2 @@
+DIST gnucash-5.10.tar.bz2 15075046 BLAKE2B 343d4a2fee0cdafc42a58d1bcb4e809b7f5fada24eddf210805d81075d6461626b2cbf37c5d0c4d5d758f0ff46ff3812d849b9d177fd34c4f5e890bbebe848b8 SHA512 2ea31ea9dc6d399f168e47fed4b4641207b2a4b9a5e9eac493477a067e8b8a2817e509cb8ea422480c62336fe87cfe6e3e795e5a8b630e8a3d7635adfc64514d
DIST gnucash-5.8.tar.bz2 14998331 BLAKE2B 3440eec0c6936b446febc385b4b397aa4a0d5a5b710012a59ca6f9d378ca676105f815d05ccabd76be28c7943a3ca155357c2172f1ce0a2f5070d718bac638fd SHA512 3eca261b8be218eb130a75877f2c8b31de55c6c422c1f2d9fadea648efc66a0e7d536117505c4b6f2da7c67d9a01f87db66a0198914d24dea87d00dcd68bfb0f
diff --git a/app-office/gnucash/files/gnucash-5.10-import-qif.patch b/app-office/gnucash/files/gnucash-5.10-import-qif.patch
new file mode 100644
index 000000000000..b5d5b2988a6d
--- /dev/null
+++ b/app-office/gnucash/files/gnucash-5.10-import-qif.patch
@@ -0,0 +1,27 @@
+https://github.com/Gnucash/gnucash/commit/6531d3e46b7bee1add61aa6c6aaf8fb1f889a586
+
+From 6531d3e46b7bee1add61aa6c6aaf8fb1f889a586 Mon Sep 17 00:00:00 2001
+From: John Ralls <jralls@ceridwen.us>
+Date: Mon, 23 Dec 2024 17:34:19 -0800
+Subject: [PATCH] Bug 799494 - Version 5.10 Fails to import QIF file
+
+Require only one split in qif-import:qif-to-gnc, apparently it's too
+early to require two.
+---
+ gnucash/import-export/qif-imp/qif-to-gnc.scm | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gnucash/import-export/qif-imp/qif-to-gnc.scm b/gnucash/import-export/qif-imp/qif-to-gnc.scm
+index 899f8b9f9b8..dc57a3a0322 100644
+--- a/gnucash/import-export/qif-imp/qif-to-gnc.scm
++++ b/gnucash/import-export/qif-imp/qif-to-gnc.scm
+@@ -434,7 +434,7 @@
+ ;; there aren't at least 2 splits and that will cause a
+ ;; UAF in xaccTransRecordPrice. See https://bugs.gnucash.org/show_bug.cgi?id=799420
+ (let ((splits (qif-xtn:splits xtn)))
+- (if (not (or (qif-xtn:mark xtn) (or (null? splits) (null? (cdr splits)))))
++ (if (not (or (qif-xtn:mark xtn) (null? splits)))
+ ;; Convert into a GnuCash transaction.
+ (let ((gnc-xtn (xaccMallocTransaction
+ (gnc-get-current-book))))
+
diff --git a/app-office/gnucash/gnucash-5.10.ebuild b/app-office/gnucash/gnucash-5.10.ebuild
new file mode 100644
index 000000000000..bd528c080bdd
--- /dev/null
+++ b/app-office/gnucash/gnucash-5.10.ebuild
@@ -0,0 +1,232 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_REQ_USE="regex"
+GUILE_COMPAT=( 2-2 3-0 )
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit cmake flag-o-matic gnome2-utils guile-single python-single-r1
+
+# Please bump with app-doc/gnucash-docs
+DESCRIPTION="Personal finance manager"
+HOMEPAGE="https://www.gnucash.org/"
+SRC_URI="https://github.com/Gnucash/gnucash/releases/download/${PV}/${P}.tar.bz2"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+IUSE="aqbanking debug doc examples gnome-keyring +gui mysql nls ofx postgres python quotes smartcard sqlite test"
+
+# Currently restricting due to the following:
+# https://bugs.gnucash.org/show_bug.cgi?id=799159#c1
+#
+# Tests can be run but must first unmerge any existing GnuCash installation.
+RESTRICT="test"
+
+# Examples doesn't build unless GUI is also built
+REQUIRED_USE="
+ ${GUILE_REQUIRED_USE}
+ examples? ( gui )
+ python? ( ${PYTHON_REQUIRED_USE} )
+ smartcard? ( aqbanking )
+"
+
+# dev-libs/boost must always be built with nls enabled.
+# net-libs/aqbanking dropped gtk with v6. So, to simplify the
+# dependency, we just rely on that.
+RDEPEND="
+ ${GUILE_DEPS}
+ >=dev-libs/glib-2.56.1:2
+ >=sys-libs/zlib-1.1.4
+ dev-libs/boost:=[icu,nls]
+ dev-libs/icu:=
+ dev-libs/libxml2:2
+ dev-libs/libxslt
+ aqbanking? (
+ >=net-libs/aqbanking-6[ofx?]
+ >=sys-libs/gwenhywfar-5.6.0:=
+ smartcard? ( sys-libs/libchipcard )
+ )
+ gnome-keyring? ( >=app-crypt/libsecret-0.18 )
+ gui? (
+ >=x11-libs/gtk+-3.22.30:3
+ gnome-base/dconf
+ net-libs/webkit-gtk:4.1=
+ aqbanking? ( sys-libs/gwenhywfar:=[gtk] )
+ )
+ mysql? (
+ dev-db/libdbi
+ dev-db/libdbi-drivers[mysql]
+ )
+ ofx? ( >=dev-libs/libofx-0.9.12:= )
+ postgres? (
+ dev-db/libdbi
+ dev-db/libdbi-drivers[postgres]
+ )
+ python? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ ')
+ )
+ quotes? (
+ >=dev-perl/Finance-Quote-1.11
+ dev-perl/JSON-Parse
+ dev-perl/HTML-TableExtract
+ )
+ sqlite? (
+ dev-db/libdbi
+ dev-db/libdbi-drivers[sqlite]
+ )
+"
+
+# gtest is a required dep
+# see https://bugs.gnucash.org/show_bug.cgi?id=795250
+DEPEND="
+ ${RDEPEND}
+ >=sys-devel/gettext-0.20
+ dev-lang/perl
+ dev-perl/XML-Parser
+ dev-build/libtool
+ >=dev-cpp/gtest-1.8.0
+"
+# distutils is not available in python3.12, but it is still in setuptools
+BDEPEND="
+ dev-lang/swig
+ >=dev-build/cmake-3.10
+ virtual/pkgconfig
+ python? (
+ $(python_gen_cond_dep '
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ')
+ )
+"
+
+PDEPEND="
+ doc? (
+ ~app-doc/gnucash-docs-${PV}
+ gnome-extra/yelp
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.0-exclude-license.patch"
+ "${FILESDIR}/${PN}-4.12-drop-broken-test.patch"
+ "${FILESDIR}/${PN}-5.6-no-werror.patch"
+ # This is only to prevent webkit2gtk-4 from being selected.
+ # https://bugs.gentoo.org/893676
+ "${FILESDIR}/${PN}-5.0-webkit2gtk-4.1.patch"
+ "${FILESDIR}/${P}-import-qif.patch"
+)
+
+pkg_setup() {
+ guile-single_pkg_setup
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+ guile_bump_sources
+
+ # ODR violation in libgnucash/engine/test/utest-Account.cpp and libgnucash/engine/test/utest-Split.cpp
+ # with Fixture struct
+ use test && filter-lto
+
+ # Fix tests writing to /tmp
+ local fixtestfiles=(
+ gnucash/report/test/test-report-html.scm
+ gnucash/report/reports/standard/test/test-invoice.scm
+ gnucash/report/reports/standard/test/test-new-owner-report.scm
+ gnucash/report/reports/standard/test/test-owner-report.scm
+ gnucash/report/reports/standard/test/test-transaction.scm
+ gnucash/report/reports/standard/test/test-portfolios.scm
+ gnucash/report/reports/standard/test/test-charts.scm
+ gnucash/report/test/test-report.scm
+ gnucash/report/test/test-commodity-utils.scm
+ gnucash/report/test/test-report-extras.scm
+ libgnucash/backend/dbi/test/test-backend-dbi-basic.cpp
+ libgnucash/backend/xml/test/test-xml-pricedb.cpp
+ )
+ for x in "${fixtestfiles[@]}"; do
+ sed -i -e "s|\"/tmp/|\"${T}/|g" "${S}/${x}" || die "sed of ${S}/${x} failed"
+ done
+}
+
+src_configure() {
+ export GUILE_AUTO_COMPILE=0
+
+ local sql_on_off="OFF"
+ if use mysql || use postgres || use sqlite ; then
+ sql_on_off="ON"
+ fi
+
+ local mycmakeargs=(
+ -DCOMPILE_GSCHEMAS=OFF
+ -DDISABLE_NLS=$(usex !nls)
+ -DWITH_AQBANKING=$(usex aqbanking)
+ -DWITH_GNUCASH=$(usex gui)
+ -DWITH_OFX=$(usex ofx)
+ -DWITH_PYTHON=$(usex python)
+ -DWITH_SQL=${sql_on_off}
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ LOCALE_TESTS=
+ if type locale >/dev/null 2>&1; then
+ MY_LOCALES="$(locale -a)"
+ if [[ "${MY_LOCALES}" != *en_US* ||
+ "${MY_LOCALES}" != *en_GB* ||
+ "${MY_LOCALES}" != *fr_FR* ]] ; then
+ ewarn "Missing one or more of en_US, en_GB, or fr_FR locales."
+ else
+ LOCALE_TESTS=true
+ fi
+ else
+ ewarn "'locale' not found."
+ fi
+
+ if [[ ! "${LOCALE_TESTS}" ]]; then
+ ewarn "Disabling test-qof and test-gnc-numeric."
+ echo 'set(CTEST_CUSTOM_TESTS_IGNORE test-qof test-gnc-numeric)' \
+ > "${BUILD_DIR}"/CTestCustom.cmake || die "Failed to disable test-qof and test-gnc-numeric!"
+ fi
+
+ cd "${BUILD_DIR}" || die "Failed to enter ${BUILD_DIR}"
+ XDG_DATA_HOME="${T}/$(whoami)" eninja check
+ cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+ guile_unstrip_ccache
+
+ use examples && docompress -x /usr/share/doc/${PF}/examples
+
+ if use python ; then
+ python_optimize
+ python_optimize "${ED}"/usr/share/gnucash/python
+ fi
+}
+
+pkg_postinst() {
+ if use gui ; then
+ xdg_icon_cache_update
+ gnome2_schemas_update
+ fi
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+}
+
+pkg_postrm() {
+ if use gui ; then
+ xdg_icon_cache_update
+ gnome2_schemas_update
+ fi
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+}
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-office/gnucash/, app-office/gnucash/files/
@ 2024-11-03 18:54 David Seifert
0 siblings, 0 replies; 16+ messages in thread
From: David Seifert @ 2024-11-03 18:54 UTC (permalink / raw
To: gentoo-commits
commit: e6c25a38a4b15bc1255149da147ccdad8826945d
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 3 18:54:16 2024 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Sun Nov 3 18:54:16 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e6c25a38
app-office/gnucash: add gcc15 patch
Closes: https://bugs.gentoo.org/939856
Signed-off-by: David Seifert <soap <AT> gentoo.org>
app-office/gnucash/files/gnucash-5.8-gcc15.patch | 505 +++++++++++++++++++++++
app-office/gnucash/gnucash-5.8-r100.ebuild | 3 +
2 files changed, 508 insertions(+)
diff --git a/app-office/gnucash/files/gnucash-5.8-gcc15.patch b/app-office/gnucash/files/gnucash-5.8-gcc15.patch
new file mode 100644
index 000000000000..00aa1c61d7dc
--- /dev/null
+++ b/app-office/gnucash/files/gnucash-5.8-gcc15.patch
@@ -0,0 +1,505 @@
+From c06bc18dc4da9832ad8aed8beac8904e0bdfee7e Mon Sep 17 00:00:00 2001
+From: David Seifert <soap@gentoo.org>
+Date: Sat, 2 Nov 2024 09:55:15 +0100
+Subject: [PATCH] Add missing `#include <cstdint>`
+
+* GCC 15 has reduced transitive dependencies between headers.
+
+Bug: https://bugs.gentoo.org/939856
+---
+ bindings/guile/gnc-kvp-guile.cpp | 1 +
+ gnucash/gnome-utils/gnc-option-gtk-ui.cpp | 1 +
+ gnucash/gnome-utils/test/test-autoclear.cpp | 1 +
+ gnucash/import-export/aqb/assistant-ab-initial.c | 1 +
+ gnucash/import-export/aqb/gnc-gwen-gui.c | 1 +
+ gnucash/import-export/csv-imp/assistant-csv-price-import.cpp | 1 +
+ gnucash/import-export/csv-imp/assistant-csv-trans-import.cpp | 1 +
+ gnucash/import-export/csv-imp/gnc-imp-settings-csv-price.cpp | 1 +
+ gnucash/import-export/csv-imp/gnc-imp-settings-csv-tx.cpp | 1 +
+ gnucash/import-export/csv-imp/gnc-imp-settings-csv.hpp | 1 +
+ gnucash/import-export/csv-imp/gnc-import-price.hpp | 1 +
+ gnucash/import-export/csv-imp/gnc-import-tx.hpp | 1 +
+ gnucash/import-export/csv-imp/gnc-tokenizer-fw.hpp | 1 +
+ libgnucash/app-utils/test/test-print-parse-amount.cpp | 1 +
+ libgnucash/backend/dbi/gnc-dbisqlresult.hpp | 1 +
+ libgnucash/backend/sql/gnc-slots-sql.cpp | 1 +
+ libgnucash/backend/sql/gnc-sql-column-table-entry.cpp | 1 +
+ libgnucash/backend/sql/test/utest-gnc-backend-sql.cpp | 1 +
+ libgnucash/backend/xml/io-gncxml-v2.cpp | 1 +
+ libgnucash/backend/xml/sixtp-dom-generators.cpp | 1 +
+ libgnucash/engine/gnc-numeric.hpp | 1 +
+ libgnucash/engine/gnc-option-impl.hpp | 1 +
+ libgnucash/engine/gnc-option.hpp | 1 +
+ libgnucash/engine/gnc-optiondb.hpp | 1 +
+ libgnucash/engine/gnc-rational.cpp | 1 +
+ libgnucash/engine/gncInvoice.c | 1 -
+ libgnucash/engine/kvp-frame.cpp | 1 +
+ libgnucash/engine/kvp-value.hpp | 1 +
+ libgnucash/engine/qofinstance.cpp | 1 +
+ libgnucash/engine/test-core/test-engine-stuff.cpp | 1 -
+ libgnucash/engine/test/gtest-gnc-int128.cpp | 1 +
+ libgnucash/engine/test/gtest-gnc-numeric.cpp | 1 +
+ libgnucash/engine/test/gtest-gnc-option.cpp | 1 +
+ libgnucash/engine/test/gtest-gnc-optiondb.cpp | 1 +
+ libgnucash/engine/test/gtest-gnc-rational.cpp | 1 +
+ libgnucash/engine/test/gtest-import-map.cpp | 1 +
+ libgnucash/engine/test/test-kvp-frame.cpp | 1 +
+ libgnucash/engine/test/test-kvp-value.cpp | 1 +
+ 38 files changed, 36 insertions(+), 2 deletions(-)
+
+diff --git a/bindings/guile/gnc-kvp-guile.cpp b/bindings/guile/gnc-kvp-guile.cpp
+index c199ac68d68..f3f96114f63 100644
+--- a/bindings/guile/gnc-kvp-guile.cpp
++++ b/bindings/guile/gnc-kvp-guile.cpp
+@@ -2,6 +2,7 @@
+ #include <kvp-frame.hpp>
+ #include <libguile.h>
+ #include <numeric>
++#include <cstdint>
+
+ #include <config.h>
+
+diff --git a/gnucash/gnome-utils/gnc-option-gtk-ui.cpp b/gnucash/gnome-utils/gnc-option-gtk-ui.cpp
+index 9dd5fe6ca50..3db1cb7c803 100644
+--- a/gnucash/gnome-utils/gnc-option-gtk-ui.cpp
++++ b/gnucash/gnome-utils/gnc-option-gtk-ui.cpp
+@@ -25,6 +25,7 @@
+ #include "gnc-option-gtk-ui.hpp"
+ #include <config.h> // for scanf format string
+ #include <memory>
++#include <cstdint>
+ #include <qof.h>
+ #include <gnc-engine.h> // for GNC_MOD_GUI
+ #include <gnc-commodity.h> // for GNC_COMMODITY
+diff --git a/gnucash/gnome-utils/test/test-autoclear.cpp b/gnucash/gnome-utils/test/test-autoclear.cpp
+index a13d92512ed..4bf6c258905 100644
+--- a/gnucash/gnome-utils/test/test-autoclear.cpp
++++ b/gnucash/gnome-utils/test/test-autoclear.cpp
+@@ -26,6 +26,7 @@
+ // GoogleTest is written in C++, however, the function we test in C.
+ #include "../gnc-autoclear.h"
+ #include <memory>
++#include <cstdint>
+ #include <Account.h>
+ #include <Split.h>
+ #include <gtest/gtest.h>
+diff --git a/gnucash/import-export/aqb/assistant-ab-initial.c b/gnucash/import-export/aqb/assistant-ab-initial.c
+index 57e76d83cbf..c65acb956ba 100644
+--- a/gnucash/import-export/aqb/assistant-ab-initial.c
++++ b/gnucash/import-export/aqb/assistant-ab-initial.c
+@@ -51,6 +51,7 @@
+ #endif
+ #include <fcntl.h>
+ #include <unistd.h>
++#include <stdint.h>
+
+ #include "dialog-utils.h"
+ #include "assistant-ab-initial.h"
+diff --git a/gnucash/import-export/aqb/gnc-gwen-gui.c b/gnucash/import-export/aqb/gnc-gwen-gui.c
+index 47055afef1d..aaa20f8abae 100644
+--- a/gnucash/import-export/aqb/gnc-gwen-gui.c
++++ b/gnucash/import-export/aqb/gnc-gwen-gui.c
+@@ -31,6 +31,7 @@
+ #include <config.h>
+
+ #include <ctype.h>
++#include <stdint.h>
+ #include <glib/gi18n.h>
+ #include <gwenhywfar/gui_be.h>
+ #include <gwenhywfar/inherit.h>
+diff --git a/gnucash/import-export/csv-imp/assistant-csv-price-import.cpp b/gnucash/import-export/csv-imp/assistant-csv-price-import.cpp
+index ddb0a2a1e40..6f1a8644dd2 100644
+--- a/gnucash/import-export/csv-imp/assistant-csv-price-import.cpp
++++ b/gnucash/import-export/csv-imp/assistant-csv-price-import.cpp
+@@ -34,6 +34,7 @@
+ #include <gtk/gtk.h>
+ #include <glib/gi18n.h>
+ #include <stdlib.h>
++#include <cstdint>
+
+ #include "gnc-ui.h"
+ #include "gnc-uri-utils.h"
+diff --git a/gnucash/import-export/csv-imp/assistant-csv-trans-import.cpp b/gnucash/import-export/csv-imp/assistant-csv-trans-import.cpp
+index d1cb2480eaa..a096d1c3f31 100644
+--- a/gnucash/import-export/csv-imp/assistant-csv-trans-import.cpp
++++ b/gnucash/import-export/csv-imp/assistant-csv-trans-import.cpp
+@@ -36,6 +36,7 @@
+ #include <glib/gi18n.h>
+ #include <stdexcept>
+ #include <stdlib.h>
++#include <cstdint>
+
+ #include "gnc-path.h"
+ #include "gnc-ui.h"
+diff --git a/gnucash/import-export/csv-imp/gnc-imp-settings-csv-price.cpp b/gnucash/import-export/csv-imp/gnc-imp-settings-csv-price.cpp
+index c2bcd290041..ec5998751d2 100644
+--- a/gnucash/import-export/csv-imp/gnc-imp-settings-csv-price.cpp
++++ b/gnucash/import-export/csv-imp/gnc-imp-settings-csv-price.cpp
+@@ -33,6 +33,7 @@
+ #include <sstream>
+ #include <string>
+ #include <vector>
++#include <cstdint>
+
+ #include <config.h>
+
+diff --git a/gnucash/import-export/csv-imp/gnc-imp-settings-csv-tx.cpp b/gnucash/import-export/csv-imp/gnc-imp-settings-csv-tx.cpp
+index a4904e808b6..c42d8d49f29 100644
+--- a/gnucash/import-export/csv-imp/gnc-imp-settings-csv-tx.cpp
++++ b/gnucash/import-export/csv-imp/gnc-imp-settings-csv-tx.cpp
+@@ -33,6 +33,7 @@
+ #include <sstream>
+ #include <string>
+ #include <vector>
++#include <cstdint>
+
+ #include <config.h>
+
+diff --git a/gnucash/import-export/csv-imp/gnc-imp-settings-csv.hpp b/gnucash/import-export/csv-imp/gnc-imp-settings-csv.hpp
+index 39b48e65ff8..40d8c7009e0 100644
+--- a/gnucash/import-export/csv-imp/gnc-imp-settings-csv.hpp
++++ b/gnucash/import-export/csv-imp/gnc-imp-settings-csv.hpp
+@@ -35,6 +35,7 @@
+ #include <string>
+ #include <vector>
+ #include <optional>
++#include <cstdint>
+ #include <gnc-datetime.hpp>
+ #include "gnc-tokenizer.hpp"
+
+diff --git a/gnucash/import-export/csv-imp/gnc-import-price.hpp b/gnucash/import-export/csv-imp/gnc-import-price.hpp
+index 4ada98ca9b0..f0ffa89458e 100644
+--- a/gnucash/import-export/csv-imp/gnc-import-price.hpp
++++ b/gnucash/import-export/csv-imp/gnc-import-price.hpp
+@@ -38,6 +38,7 @@
+ #include <map>
+ #include <memory>
+ #include <optional>
++#include <cstdint>
+
+ #include "gnc-tokenizer.hpp"
+ #include "gnc-imp-props-price.hpp"
+diff --git a/gnucash/import-export/csv-imp/gnc-import-tx.hpp b/gnucash/import-export/csv-imp/gnc-import-tx.hpp
+index f2bb4e2765e..e3f7016c5d0 100644
+--- a/gnucash/import-export/csv-imp/gnc-import-tx.hpp
++++ b/gnucash/import-export/csv-imp/gnc-import-tx.hpp
+@@ -39,6 +39,7 @@
+ #include <map>
+ #include <memory>
+ #include <optional>
++#include <cstdint>
+
+ #include "gnc-tokenizer.hpp"
+ #include "gnc-imp-props-tx.hpp"
+diff --git a/gnucash/import-export/csv-imp/gnc-tokenizer-fw.hpp b/gnucash/import-export/csv-imp/gnc-tokenizer-fw.hpp
+index e34c55de131..b669eb0af14 100644
+--- a/gnucash/import-export/csv-imp/gnc-tokenizer-fw.hpp
++++ b/gnucash/import-export/csv-imp/gnc-tokenizer-fw.hpp
+@@ -43,6 +43,7 @@
+ #include <fstream> // fstream
+ #include <vector>
+ #include <string>
++#include <cstdint>
+ #include "gnc-tokenizer.hpp"
+
+ class GncFwTokenizer : public GncTokenizer
+diff --git a/libgnucash/app-utils/test/test-print-parse-amount.cpp b/libgnucash/app-utils/test/test-print-parse-amount.cpp
+index 1a71d6e729a..842f46594e1 100644
+--- a/libgnucash/app-utils/test/test-print-parse-amount.cpp
++++ b/libgnucash/app-utils/test/test-print-parse-amount.cpp
+@@ -23,6 +23,7 @@
+
+ #include <config.h>
+ #include <stdlib.h>
++#include <cstdint>
+
+ #include "gnc-ui-util.h"
+ #include "gnc-numeric.h"
+diff --git a/libgnucash/backend/dbi/gnc-dbisqlresult.hpp b/libgnucash/backend/dbi/gnc-dbisqlresult.hpp
+index 8b6aa84188b..34606012689 100644
+--- a/libgnucash/backend/dbi/gnc-dbisqlresult.hpp
++++ b/libgnucash/backend/dbi/gnc-dbisqlresult.hpp
+@@ -26,6 +26,7 @@
+ #define __GNC_DBISQLBACKEND_HPP__
+
+ #include <optional>
++#include <cstdint>
+
+ #include "gnc-backend-dbi.h"
+ #include <gnc-sql-result.hpp>
+diff --git a/libgnucash/backend/sql/gnc-slots-sql.cpp b/libgnucash/backend/sql/gnc-slots-sql.cpp
+index fd4078c127e..7ab4537c739 100644
+--- a/libgnucash/backend/sql/gnc-slots-sql.cpp
++++ b/libgnucash/backend/sql/gnc-slots-sql.cpp
+@@ -39,6 +39,7 @@
+
+ #include <string>
+ #include <sstream>
++#include <cstdint>
+
+ #include "gnc-sql-connection.hpp"
+ #include "gnc-sql-backend.hpp"
+diff --git a/libgnucash/backend/sql/gnc-sql-column-table-entry.cpp b/libgnucash/backend/sql/gnc-sql-column-table-entry.cpp
+index 979d54d5c70..4d3ad948500 100644
+--- a/libgnucash/backend/sql/gnc-sql-column-table-entry.cpp
++++ b/libgnucash/backend/sql/gnc-sql-column-table-entry.cpp
+@@ -25,6 +25,7 @@
+ #include <qof.h>
+ #include <sstream>
+ #include <iomanip>
++#include <cstdint>
+ #include <gnc-datetime.hpp>
+ #include "gnc-sql-backend.hpp"
+ #include "gnc-sql-object-backend.hpp"
+diff --git a/libgnucash/backend/sql/test/utest-gnc-backend-sql.cpp b/libgnucash/backend/sql/test/utest-gnc-backend-sql.cpp
+index 19f24595f66..9965025044e 100644
+--- a/libgnucash/backend/sql/test/utest-gnc-backend-sql.cpp
++++ b/libgnucash/backend/sql/test/utest-gnc-backend-sql.cpp
+@@ -23,6 +23,7 @@
+ #include <glib.h>
+
+ #include <config.h>
++#include <cstdint>
+ #include <string.h>
+ #include <unittest-support.h>
+ /* Add specific headers for this class */
+diff --git a/libgnucash/backend/xml/io-gncxml-v2.cpp b/libgnucash/backend/xml/io-gncxml-v2.cpp
+index 76c562c6165..562d685cfdb 100644
+--- a/libgnucash/backend/xml/io-gncxml-v2.cpp
++++ b/libgnucash/backend/xml/io-gncxml-v2.cpp
+@@ -44,6 +44,7 @@
+ #endif
+ #include <zlib.h>
+ #include <errno.h>
++#include <cstdint>
+
+ #include "gnc-engine.h"
+ #include "gnc-pricedb-p.h"
+diff --git a/libgnucash/backend/xml/sixtp-dom-generators.cpp b/libgnucash/backend/xml/sixtp-dom-generators.cpp
+index f8de8d29c5f..a949b65a52c 100644
+--- a/libgnucash/backend/xml/sixtp-dom-generators.cpp
++++ b/libgnucash/backend/xml/sixtp-dom-generators.cpp
+@@ -27,6 +27,7 @@
+ #include <config.h>
+
+ #include <gnc-date.h>
++#include <cstdint>
+
+ #include "gnc-xml-helper.h"
+ #include "sixtp-dom-generators.h"
+diff --git a/libgnucash/engine/gnc-numeric.hpp b/libgnucash/engine/gnc-numeric.hpp
+index b00c36f345d..fb532f263d8 100644
+--- a/libgnucash/engine/gnc-numeric.hpp
++++ b/libgnucash/engine/gnc-numeric.hpp
+@@ -27,6 +27,7 @@
+ #include <iostream>
+ #include <locale>
+ #include <typeinfo> // For std::bad_cast exception
++#include <cstdint>
+ #include "gnc-rational-rounding.hpp"
+
+ class GncRational;
+diff --git a/libgnucash/engine/gnc-option-impl.hpp b/libgnucash/engine/gnc-option-impl.hpp
+index 53d010fb3b7..0f144fef1b7 100644
+--- a/libgnucash/engine/gnc-option-impl.hpp
++++ b/libgnucash/engine/gnc-option-impl.hpp
+@@ -50,6 +50,7 @@
+ #include <variant>
+ #include <iostream>
+ #include <limits>
++#include <cstdint>
+
+ #include "gnc-option-uitype.hpp"
+
+diff --git a/libgnucash/engine/gnc-option.hpp b/libgnucash/engine/gnc-option.hpp
+index a15641a4585..01f58fa0efe 100644
+--- a/libgnucash/engine/gnc-option.hpp
++++ b/libgnucash/engine/gnc-option.hpp
+@@ -42,6 +42,7 @@
+ #include <variant>
+ #include <memory>
+ #include <tuple>
++#include <cstdint>
+ #include "gnc-option-ui.hpp"
+ #include "gnc-option-date.hpp"
+ #include "guid.hpp"
+diff --git a/libgnucash/engine/gnc-optiondb.hpp b/libgnucash/engine/gnc-optiondb.hpp
+index 9bdefed3138..db038a97731 100644
+--- a/libgnucash/engine/gnc-optiondb.hpp
++++ b/libgnucash/engine/gnc-optiondb.hpp
+@@ -38,6 +38,7 @@
+ #include <exception>
+ #include <optional>
+ #include <iostream>
++#include <cstdint>
+
+ #include <config.h>
+ #include "Account.h"
+diff --git a/libgnucash/engine/gnc-rational.cpp b/libgnucash/engine/gnc-rational.cpp
+index 33f2741d677..81c44bbdec3 100644
+--- a/libgnucash/engine/gnc-rational.cpp
++++ b/libgnucash/engine/gnc-rational.cpp
+@@ -21,6 +21,7 @@
+ *******************************************************************/
+
+ #include <sstream>
++#include <cstdint>
+ #include "gnc-rational.hpp"
+ #include "gnc-numeric.hpp"
+
+diff --git a/libgnucash/engine/gncInvoice.c b/libgnucash/engine/gncInvoice.c
+index eb4ab1db8da..15c1cf6959e 100644
+--- a/libgnucash/engine/gncInvoice.c
++++ b/libgnucash/engine/gncInvoice.c
+@@ -29,7 +29,6 @@
+
+ #include <config.h>
+
+-#include <stdint.h>
+ #include <inttypes.h>
+ #include <glib.h>
+ #include <glib/gi18n.h>
+diff --git a/libgnucash/engine/kvp-frame.cpp b/libgnucash/engine/kvp-frame.cpp
+index 48f80376602..eb390fb0bbf 100644
+--- a/libgnucash/engine/kvp-frame.cpp
++++ b/libgnucash/engine/kvp-frame.cpp
+@@ -27,6 +27,7 @@
+ #include <stdarg.h>
+ #include <stdio.h>
+ #include <string.h>
++#include <cstdint>
+
+ #include "kvp-value.hpp"
+ #include "kvp-frame.hpp"
+diff --git a/libgnucash/engine/kvp-value.hpp b/libgnucash/engine/kvp-value.hpp
+index 6518dc4e808..0ea80560a0d 100644
+--- a/libgnucash/engine/kvp-value.hpp
++++ b/libgnucash/engine/kvp-value.hpp
+@@ -27,6 +27,7 @@
+ #include <config.h>
+ #include "qof.h"
+
++#include <cstdint>
+ #include <boost/variant.hpp>
+
+ //Must be a struct because it's exposed to C so that it can in turn be
+diff --git a/libgnucash/engine/qofinstance.cpp b/libgnucash/engine/qofinstance.cpp
+index 1fbe371deec..e2c63d636a9 100644
+--- a/libgnucash/engine/qofinstance.cpp
++++ b/libgnucash/engine/qofinstance.cpp
+@@ -33,6 +33,7 @@
+ #include <config.h>
+ #include <glib.h>
+
++#include <cstdint>
+ #include <utility>
+ #include "qof.h"
+ #include "qofbook-p.h"
+diff --git a/libgnucash/engine/test-core/test-engine-stuff.cpp b/libgnucash/engine/test-core/test-engine-stuff.cpp
+index 8dbb440ecec..3baf38f78d8 100644
+--- a/libgnucash/engine/test-core/test-engine-stuff.cpp
++++ b/libgnucash/engine/test-core/test-engine-stuff.cpp
+@@ -47,7 +47,6 @@
+ #include <fcntl.h>
+ #include <glib.h>
+ #include <stdio.h>
+-#include <stdint.h>
+ #include <inttypes.h>
+ #include <stdlib.h>
+ #include <string.h>
+diff --git a/libgnucash/engine/test/gtest-gnc-int128.cpp b/libgnucash/engine/test/gtest-gnc-int128.cpp
+index 4f28bdd262d..34a7200b696 100644
+--- a/libgnucash/engine/test/gtest-gnc-int128.cpp
++++ b/libgnucash/engine/test/gtest-gnc-int128.cpp
+@@ -22,6 +22,7 @@
+ *******************************************************************/
+
+ #include <gtest/gtest.h>
++#include <cstdint>
+ #include "../gnc-int128.hpp"
+
+ TEST(GncInt128_constructors, test_default_constructor)
+diff --git a/libgnucash/engine/test/gtest-gnc-numeric.cpp b/libgnucash/engine/test/gtest-gnc-numeric.cpp
+index 20079e17c87..a38d4b4f258 100644
+--- a/libgnucash/engine/test/gtest-gnc-numeric.cpp
++++ b/libgnucash/engine/test/gtest-gnc-numeric.cpp
+@@ -21,6 +21,7 @@
+ \********************************************************************/
+
+ #include <gtest/gtest.h>
++#include <cstdint>
+ #include "../gnc-numeric.hpp"
+ #include "../gnc-rational.hpp"
+
+diff --git a/libgnucash/engine/test/gtest-gnc-option.cpp b/libgnucash/engine/test/gtest-gnc-option.cpp
+index 81700ea7019..7894f7c02aa 100644
+--- a/libgnucash/engine/test/gtest-gnc-option.cpp
++++ b/libgnucash/engine/test/gtest-gnc-option.cpp
+@@ -33,6 +33,7 @@
+ #include "gnc-commodity.h"
+ #include "gnc-date.h"
+ #include <time.h>
++#include <cstdint>
+ #include "gnc-session.h"
+
+ TEST(GncOption, test_string_ctor)
+diff --git a/libgnucash/engine/test/gtest-gnc-optiondb.cpp b/libgnucash/engine/test/gtest-gnc-optiondb.cpp
+index 1b92ed63c3e..7ee6957de80 100644
+--- a/libgnucash/engine/test/gtest-gnc-optiondb.cpp
++++ b/libgnucash/engine/test/gtest-gnc-optiondb.cpp
+@@ -27,6 +27,7 @@
+ #include "gnc-option-ui.hpp"
+ #include "kvp-value.hpp"
+ #include <glib-2.0/glib.h>
++#include <cstdint>
+
+ #include "gnc-session.h"
+
+diff --git a/libgnucash/engine/test/gtest-gnc-rational.cpp b/libgnucash/engine/test/gtest-gnc-rational.cpp
+index fa6c2d9224c..c3200ce1e1e 100644
+--- a/libgnucash/engine/test/gtest-gnc-rational.cpp
++++ b/libgnucash/engine/test/gtest-gnc-rational.cpp
+@@ -23,6 +23,7 @@
+
+ #include <gtest/gtest.h>
+ #include <random>
++#include <cstdint>
+ #include "../gnc-rational.hpp"
+ #include "../gnc-numeric.hpp" //for RoundType
+
+diff --git a/libgnucash/engine/test/gtest-import-map.cpp b/libgnucash/engine/test/gtest-import-map.cpp
+index 8ba2cffe0fb..c5bc31699e7 100644
+--- a/libgnucash/engine/test/gtest-import-map.cpp
++++ b/libgnucash/engine/test/gtest-import-map.cpp
+@@ -28,6 +28,7 @@
+ #include <kvp-frame.hpp>
+ #include <gtest/gtest.h>
+ #include <string>
++#include <cstdint>
+
+ class ImapTest : public testing::Test
+ {
+diff --git a/libgnucash/engine/test/test-kvp-frame.cpp b/libgnucash/engine/test/test-kvp-frame.cpp
+index 9746f1482ff..7ef40db9afd 100644
+--- a/libgnucash/engine/test/test-kvp-frame.cpp
++++ b/libgnucash/engine/test/test-kvp-frame.cpp
+@@ -27,6 +27,7 @@
+ #include "../kvp-frame.hpp"
+ #include <gtest/gtest.h>
+ #include <algorithm>
++#include <cstdint>
+
+ class KvpFrameTest : public ::testing::Test
+ {
+diff --git a/libgnucash/engine/test/test-kvp-value.cpp b/libgnucash/engine/test/test-kvp-value.cpp
+index 8f719d7a7ae..4d9d6c0d18c 100644
+--- a/libgnucash/engine/test/test-kvp-value.cpp
++++ b/libgnucash/engine/test/test-kvp-value.cpp
+@@ -28,6 +28,7 @@
+ #include "../kvp-frame.hpp"
+ #include "../gnc-date.h"
+ #include <memory>
++#include <cstdint>
+ #include <gtest/gtest.h>
+
+ TEST (KvpValueTest, Equality)
diff --git a/app-office/gnucash/gnucash-5.8-r100.ebuild b/app-office/gnucash/gnucash-5.8-r100.ebuild
index 23341e458966..7c4cbe6ee0c6 100644
--- a/app-office/gnucash/gnucash-5.8-r100.ebuild
+++ b/app-office/gnucash/gnucash-5.8-r100.ebuild
@@ -120,6 +120,9 @@ PATCHES=(
# This is only to prevent webkit2gtk-4 from being selected.
# https://bugs.gentoo.org/893676
"${FILESDIR}/${PN}-5.0-webkit2gtk-4.1.patch"
+
+ # GCC 15 backport
+ "${FILESDIR}/${PN}-5.8-gcc15.patch"
)
pkg_setup() {
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-office/gnucash/, app-office/gnucash/files/
@ 2024-05-11 19:02 Aaron W. Swenson
0 siblings, 0 replies; 16+ messages in thread
From: Aaron W. Swenson @ 2024-05-11 19:02 UTC (permalink / raw
To: gentoo-commits
commit: eefab580e7c489fff39e6a0aafd2ed520d510328
Author: Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Sat May 11 19:02:06 2024 +0000
Commit: Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Sat May 11 19:02:06 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=eefab580
app-office/gnucash: Add 5.6
Signed-off-by: Aaron W. Swenson <titanofold <AT> gentoo.org>
app-office/gnucash/Manifest | 1 +
.../gnucash/files/gnucash-5.6-no-werror.patch | 29 +++
app-office/gnucash/gnucash-5.6.ebuild | 232 +++++++++++++++++++++
3 files changed, 262 insertions(+)
diff --git a/app-office/gnucash/Manifest b/app-office/gnucash/Manifest
index 945337cc426c..0b21b3a849c4 100644
--- a/app-office/gnucash/Manifest
+++ b/app-office/gnucash/Manifest
@@ -3,3 +3,4 @@ DIST gnucash-5.1.tar.bz2 14794000 BLAKE2B dd9465277e9df82cc4029b95b2c8488fcb382a
DIST gnucash-5.3.tar.bz2 14928584 BLAKE2B 9778efa9b77f16f784eaffe1f4338a20cc42e4e767e3dcb3b29e8dc011e538912d59c21e23d3d63e031a1b558c9faaa8bc5853141ae4d2764de4c9ae949668ff SHA512 f811ed66144f8689255970c6d925047eeb8d47dbefc862f42ab54ff3342e4710d822288a2d34ed1e7e873c7a7c5db0f95bdaa233787cd6828ff448af0eea325e
DIST gnucash-5.4-1.tar.bz2 14928988 BLAKE2B 389996058e2d452f7e0a9ee088a56254c56546f363291d92c02db0ff06d21f6aa4c99f2fc3ee56a13cbb8ea122f57ba391992bb670496471bb3c0e2583be7ca9 SHA512 25e221c6926594ca86097f1d34a4b035fd6853b7b6324809a0e9927e9b0958fd896deefdc8b4346717e3068bb8895697a5e3cd65e6cc02f8bc2fb19d8a8bb103
DIST gnucash-5.5.tar.bz2 14986561 BLAKE2B b5c4d8b0340d26e67c95d478f9f0aceb905688fe8024cf2664215e93c869046d727561d0efb64ebdc1e3bae2bc4e987cb6d919ff03e14c55482e9aa216d9780b SHA512 06ee099d5cb4c24ff0b53f5788db36599240c0b6392d6fcc548b8d6f5c3aebef26d13fae80083b7676e80e739e386eb197bfb1ecf204995c77f60493a7c8c735
+DIST gnucash-5.6.tar.bz2 15110621 BLAKE2B 9ee514ed158512ac6121a0e51457f68696e3eaf9fdfad7e8c8e7cf0523e8a900d2e3786146ad459bc8fc871eb5aec754e30d40130370c4e8d497e0496e3c793f SHA512 5ae0994a3f358bbf5ee6aeffc7a7237f6869e72c34cd551e5243e0c966dbbccfe8cdea65b7d31e016657b97175d6e5d94f5797b5adec5f94bc0b627c7a4dd435
diff --git a/app-office/gnucash/files/gnucash-5.6-no-werror.patch b/app-office/gnucash/files/gnucash-5.6-no-werror.patch
new file mode 100644
index 000000000000..0cf9cc5b396d
--- /dev/null
+++ b/app-office/gnucash/files/gnucash-5.6-no-werror.patch
@@ -0,0 +1,29 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -604,12 +604,12 @@
+ set(CMAKE_C_EXTENSIONS ON)
+
+ if (UNIX)
+- set( CMAKE_C_FLAGS "-Werror -Wall -Wmissing-prototypes -Wmissing-declarations ${CMAKE_C_FLAGS}")
+- set( CMAKE_CXX_FLAGS "-Werror -Wall -Wmissing-declarations ${CMAKE_CXX_FLAGS}")
++ set( CMAKE_C_FLAGS "-Wall -Wmissing-prototypes -Wmissing-declarations ${CMAKE_C_FLAGS}")
++ set( CMAKE_CXX_FLAGS "-Wall -Wmissing-declarations ${CMAKE_CXX_FLAGS}")
+ set( CMAKE_C_FLAGS_RELEASE "-O3 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 ${CMAKE_C_FLAGS}")
+ endif()
+ if (MINGW)
+- set( CMAKE_C_FLAGS "-Werror -Wall -Wmissing-prototypes -Wmissing-declarations ${CMAKE_C_FLAGS}")
++ set( CMAKE_C_FLAGS "-Wall -Wmissing-prototypes -Wmissing-declarations ${CMAKE_C_FLAGS}")
+ set( CMAKE_CXX_FLAGS "-DWINVER=0x0500 -D_EMULATE_GLIBC=0 ${CMAKE_CXX_FLAGS}") # Workaround for bug in gtest on mingw, see https://github.com/google/googletest/issues/893 and https://github.com/google/googletest/issues/920
+ endif()
+
+--- a/common/cmake_modules/GncAddSwigCommand.cmake
++++ b/common/cmake_modules/GncAddSwigCommand.cmake
+@@ -73,7 +73,7 @@
+ endif()
+ set (DEFAULT_SWIG_PYTHON_FLAGS
+ -python ${SWIG_EXTRA_OPT}
+- -Wall -Werror
++ -Wall
+ ${SWIG_ARGS}
+ )
+ set (DEFAULT_SWIG_PYTHON_C_INCLUDES
diff --git a/app-office/gnucash/gnucash-5.6.ebuild b/app-office/gnucash/gnucash-5.6.ebuild
new file mode 100644
index 000000000000..86774b42defb
--- /dev/null
+++ b/app-office/gnucash/gnucash-5.6.ebuild
@@ -0,0 +1,232 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..12} )
+
+inherit cmake gnome2-utils python-single-r1
+
+# Please bump with app-doc/gnucash-docs
+DESCRIPTION="A personal finance manager"
+HOMEPAGE="https://www.gnucash.org/"
+SRC_URI="https://github.com/Gnucash/gnucash/releases/download/${PV}/${P}.tar.bz2"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+
+IUSE="aqbanking debug doc examples gnome-keyring +gui mysql nls ofx postgres python quotes smartcard sqlite test"
+
+# Currently restricting due to the following:
+# https://bugs.gnucash.org/show_bug.cgi?id=799159#c1
+#
+# Tests can be run but must first unmerge any existing GnuCash installation.
+RESTRICT="test"
+
+# Examples doesn't build unless GUI is also built
+REQUIRED_USE="
+ examples? ( gui )
+ python? ( ${PYTHON_REQUIRED_USE} )
+ smartcard? ( aqbanking )
+"
+
+# dev-libs/boost must always be built with nls enabled.
+# net-libs/aqbanking dropped gtk with v6. So, to simplify the
+# dependency, we just rely on that.
+RDEPEND="
+ >=dev-libs/glib-2.56.1:2
+ >=dev-scheme/guile-2.2.0:=[regex]
+ >=sys-libs/zlib-1.1.4
+ dev-libs/boost:=[icu,nls]
+ dev-libs/icu:=
+ dev-libs/libxml2:2
+ dev-libs/libxslt
+ aqbanking? (
+ >=net-libs/aqbanking-6[ofx?]
+ >=sys-libs/gwenhywfar-5.6.0:=
+ smartcard? ( sys-libs/libchipcard )
+ )
+ gnome-keyring? ( >=app-crypt/libsecret-0.18 )
+ gui? (
+ >=x11-libs/gtk+-3.22.30:3
+ gnome-base/dconf
+ net-libs/webkit-gtk:4.1=
+ aqbanking? ( sys-libs/gwenhywfar:=[gtk] )
+ )
+ mysql? (
+ dev-db/libdbi
+ dev-db/libdbi-drivers[mysql]
+ )
+ ofx? ( >=dev-libs/libofx-0.9.12:= )
+ postgres? (
+ dev-db/libdbi
+ dev-db/libdbi-drivers[postgres]
+ )
+ python? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ ')
+ )
+ quotes? (
+ >=dev-perl/Finance-Quote-1.11
+ dev-perl/JSON-Parse
+ dev-perl/HTML-TableExtract
+ )
+ sqlite? (
+ dev-db/libdbi
+ dev-db/libdbi-drivers[sqlite]
+ )
+"
+
+# gtest is a required dep
+# see https://bugs.gnucash.org/show_bug.cgi?id=795250
+DEPEND="
+ ${RDEPEND}
+ >=sys-devel/gettext-0.20
+ dev-lang/perl
+ dev-perl/XML-Parser
+ dev-build/libtool
+ >=dev-cpp/gtest-1.8.0
+"
+# distutils is not available in python3.12, but it is still in setuptools
+BDEPEND="
+ dev-lang/swig
+ >=dev-build/cmake-3.10
+ virtual/pkgconfig
+ python? (
+ $(python_gen_cond_dep '
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ')
+ )
+"
+
+PDEPEND="
+ doc? (
+ ~app-doc/gnucash-docs-${PV}
+ gnome-extra/yelp
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.0-exclude-license.patch"
+ "${FILESDIR}/${PN}-4.12-drop-broken-test.patch"
+ "${FILESDIR}/${PN}-5.6-no-werror.patch"
+
+ # This is only to prevent webkit2gtk-4 from being selected.
+ # https://bugs.gentoo.org/893676
+ "${FILESDIR}/${PN}-5.0-webkit2gtk-4.1.patch"
+)
+
+# guile generates ELF files without use of C or machine code
+# It's a portage false positive, bug #677600
+QA_PREBUILT='*[.]go'
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ # http://debbugs.gnu.org/cgi/bugreport.cgi?bug=38112
+ find "${S}" -name "*.scm" -exec touch {} + || die
+
+ # Fix tests writing to /tmp
+ local fixtestfiles=(
+ gnucash/report/test/test-report-html.scm
+ gnucash/report/reports/standard/test/test-invoice.scm
+ gnucash/report/reports/standard/test/test-new-owner-report.scm
+ gnucash/report/reports/standard/test/test-owner-report.scm
+ gnucash/report/reports/standard/test/test-transaction.scm
+ gnucash/report/reports/standard/test/test-portfolios.scm
+ gnucash/report/reports/standard/test/test-charts.scm
+ gnucash/report/test/test-report.scm
+ gnucash/report/test/test-commodity-utils.scm
+ gnucash/report/test/test-report-extras.scm
+ libgnucash/backend/dbi/test/test-backend-dbi-basic.cpp
+ libgnucash/backend/xml/test/test-xml-pricedb.cpp
+ )
+ for x in "${fixtestfiles[@]}"; do
+ sed -i -e "s|\"/tmp/|\"${T}/|g" "${S}/${x}" || die "sed of ${S}/${x} failed"
+ done
+}
+
+src_configure() {
+ export GUILE_AUTO_COMPILE=0
+
+ local sql_on_off="OFF"
+ if use mysql || use postgres || use sqlite ; then
+ sql_on_off="ON"
+ fi
+
+ local mycmakeargs=(
+ -DCOMPILE_GSCHEMAS=OFF
+ -DDISABLE_NLS=$(usex !nls)
+ -DWITH_AQBANKING=$(usex aqbanking)
+ -DWITH_GNUCASH=$(usex gui)
+ -DWITH_OFX=$(usex ofx)
+ -DWITH_PYTHON=$(usex python)
+ -DWITH_SQL=${sql_on_off}
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ LOCALE_TESTS=
+ if type locale >/dev/null 2>&1; then
+ MY_LOCALES="$(locale -a)"
+ if [[ "${MY_LOCALES}" != *en_US* ||
+ "${MY_LOCALES}" != *en_GB* ||
+ "${MY_LOCALES}" != *fr_FR* ]] ; then
+ ewarn "Missing one or more of en_US, en_GB, or fr_FR locales."
+ else
+ LOCALE_TESTS=true
+ fi
+ else
+ ewarn "'locale' not found."
+ fi
+
+ if [[ ! "${LOCALE_TESTS}" ]]; then
+ ewarn "Disabling test-qof and test-gnc-numeric."
+ echo 'set(CTEST_CUSTOM_TESTS_IGNORE test-qof test-gnc-numeric)' \
+ > "${BUILD_DIR}"/CTestCustom.cmake || die "Failed to disable test-qof and test-gnc-numeric!"
+ fi
+
+ cd "${BUILD_DIR}" || die "Failed to enter ${BUILD_DIR}"
+ XDG_DATA_HOME="${T}/$(whoami)" eninja check
+ cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+
+ dostrip -x /usr/$(get_libdir)/guile/2.2/site-ccache/gnucash/
+
+ use examples && docompress -x /usr/share/doc/${PF}/examples
+
+ if use python ; then
+ python_optimize
+ python_optimize "${ED}"/usr/share/gnucash/python
+ fi
+}
+
+pkg_postinst() {
+ if use gui ; then
+ xdg_icon_cache_update
+ gnome2_schemas_update
+ fi
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+}
+
+pkg_postrm() {
+ if use gui ; then
+ xdg_icon_cache_update
+ gnome2_schemas_update
+ fi
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+}
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-office/gnucash/, app-office/gnucash/files/
@ 2024-01-20 11:49 Sam James
0 siblings, 0 replies; 16+ messages in thread
From: Sam James @ 2024-01-20 11:49 UTC (permalink / raw
To: gentoo-commits
commit: e85be751c4ed80c056dfe7e1bde1441bcea07d5d
Author: Christopher Fore <csfore <AT> posteo <DOT> net>
AuthorDate: Wed Dec 6 15:09:39 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jan 20 11:48:32 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e85be751
app-office/gnucash: add algorithm patch to 5.3
GCC 14 no longer includes <algorithm> by default, this will add a patch
that will include it.
Upstream's already accepted it and the patch should no longer be needed
in 5.5.
Upstream bug: https://bugs.gnucash.org/show_bug.cgi?id=799134
Closes: https://bugs.gentoo.org/917598
Signed-off-by: Christopher Fore <csfore <AT> posteo.net>
Closes: https://github.com/gentoo/gentoo/pull/34013
Signed-off-by: Sam James <sam <AT> gentoo.org>
app-office/gnucash/files/gnucash-5.3-include-algorithm.patch | 12 ++++++++++++
app-office/gnucash/gnucash-5.3.ebuild | 3 +++
2 files changed, 15 insertions(+)
diff --git a/app-office/gnucash/files/gnucash-5.3-include-algorithm.patch b/app-office/gnucash/files/gnucash-5.3-include-algorithm.patch
new file mode 100644
index 000000000000..d9998c8c66ed
--- /dev/null
+++ b/app-office/gnucash/files/gnucash-5.3-include-algorithm.patch
@@ -0,0 +1,12 @@
+diff --git a/libgnucash/engine/gnc-option-impl.hpp b/libgnucash/engine/gnc-option-impl.hpp
+index 4ebaa36..4d157d5 100644
+--- a/libgnucash/engine/gnc-option-impl.hpp
++++ b/libgnucash/engine/gnc-option-impl.hpp
+@@ -49,6 +49,7 @@
+ #include <variant>
+ #include <iostream>
+ #include <limits>
++#include <algorithm>
+
+ #include "gnc-option-uitype.hpp"
+
diff --git a/app-office/gnucash/gnucash-5.3.ebuild b/app-office/gnucash/gnucash-5.3.ebuild
index 9767e2a6665a..e8c2e7d7026e 100644
--- a/app-office/gnucash/gnucash-5.3.ebuild
+++ b/app-office/gnucash/gnucash-5.3.ebuild
@@ -108,6 +108,9 @@ PATCHES=(
# This is only to prevent webkit2gtk-4 from being selected.
# https://bugs.gentoo.org/893676
"${FILESDIR}/${PN}-5.0-webkit2gtk-4.1.patch"
+
+ # GCC 14 no longer includes <algorithm> by default, this is fixed in 5.5
+ "${FILESDIR}/${PN}-5.3-include-algorithm.patch"
)
# guile generates ELF files without use of C or machine code
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-office/gnucash/, app-office/gnucash/files/
@ 2023-06-20 10:53 Aaron W. Swenson
0 siblings, 0 replies; 16+ messages in thread
From: Aaron W. Swenson @ 2023-06-20 10:53 UTC (permalink / raw
To: gentoo-commits
commit: e5e3d2adb1fd78f86cab61f83c60664002db646c
Author: Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 20 10:52:30 2023 +0000
Commit: Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Tue Jun 20 10:52:30 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e5e3d2ad
app-office/gnucash: add 5.1
Closes: https://bugs.gentoo.org/904824
Closes: https://bugs.gentoo.org/908563
Signed-off-by: Aaron W. Swenson <titanofold <AT> gentoo.org>
app-office/gnucash/Manifest | 1 +
.../files/gnucash-5.0-exclude-license.patch | 32 +++
.../gnucash/files/gnucash-5.0-webkit2gtk-4.1.patch | 14 ++
app-office/gnucash/gnucash-5.1.ebuild | 221 +++++++++++++++++++++
4 files changed, 268 insertions(+)
diff --git a/app-office/gnucash/Manifest b/app-office/gnucash/Manifest
index 55cde8404d6d..c677c031322f 100644
--- a/app-office/gnucash/Manifest
+++ b/app-office/gnucash/Manifest
@@ -1 +1,2 @@
DIST gnucash-4.13.tar.bz2 14658572 BLAKE2B 027151a800194b854ad8bbe5175b24c99e924331f2b0a35745870542c2ade1e7347d2cbc3e400f621c6b5c1bb708633609a1891e729f8923d0c717537f884ca9 SHA512 7f1f5a6c6e537aca7e88c806461c58e90256954842026d801dba48586fa5817519220f532b9e460bc34751c94e6be4a80aac06325b7bada716616a735e2de3d3
+DIST gnucash-5.1.tar.bz2 14794000 BLAKE2B dd9465277e9df82cc4029b95b2c8488fcb382a38e850ac7a3644bcdf5f423fafe522fcf22b996abed035465e54c1326859cd7c434df0569dffa11a8c911f1267 SHA512 c7e336d4d54407ea14bd8c10bbb7cedf9d1fdb13e2bda214169d1755b8103e4c37550b9c75244b91cf151ee30299664e8655d3c6fc4119241b7a97abcfd2e8e6
diff --git a/app-office/gnucash/files/gnucash-5.0-exclude-license.patch b/app-office/gnucash/files/gnucash-5.0-exclude-license.patch
new file mode 100644
index 000000000000..4a1fd9944fad
--- /dev/null
+++ b/app-office/gnucash/files/gnucash-5.0-exclude-license.patch
@@ -0,0 +1,32 @@
+diff -Naruw gnucash-5.0.orig/CMakeLists.txt gnucash-5.0/CMakeLists.txt
+--- gnucash-5.0.orig/CMakeLists.txt 2023-04-13 10:23:18.271128349 -0400
++++ gnucash-5.0/CMakeLists.txt 2023-04-13 10:25:38.531172952 -0400
+@@ -665,7 +665,6 @@
+ ChangeLog.2022
+ DOCUMENTERS
+ HACKING
+- LICENSE
+ NEWS
+ README.dependencies
+ )
+@@ -928,20 +927,7 @@
+ )
+ endif()
+
+-#Link LICENSE to COPYING so that people expecting to find it,
+-#will. COPYING is normally linked by autogen.sh to the latest
+-#automake-provided version.
+-set (_CMD create_symlink)
+-if (WIN32)
+- set(_CMD copy)
+-endif()
+
+-install(CODE
+-" execute_process(
+- COMMAND ${CMAKE_COMMAND} -E ${_CMD} LICENSE COPYING
+- WORKING_DIRECTORY ${CMAKE_INSTALL_DOCDIR}
+- )"
+-)
+
+ #For windows, copy in some DLLs from Mingw
+
diff --git a/app-office/gnucash/files/gnucash-5.0-webkit2gtk-4.1.patch b/app-office/gnucash/files/gnucash-5.0-webkit2gtk-4.1.patch
new file mode 100644
index 000000000000..e2312f531825
--- /dev/null
+++ b/app-office/gnucash/files/gnucash-5.0-webkit2gtk-4.1.patch
@@ -0,0 +1,14 @@
+diff -Naruw a/CMakeLists.txt b/CMakeLists.txt
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -210,10 +210,7 @@
+ pkg_check_modules (WEBKIT REQUIRED IMPORTED_TARGET webkitgtk-3.0)
+ set(WEBKIT1 1 CACHE INTERNAL "WebKitGtk")
+ else()
+- pkg_check_modules (WEBKIT IMPORTED_TARGET webkit2gtk-4.0>=2.14.0)
+- if (NOT WEBKIT_FOUND)
+ pkg_check_modules (WEBKIT REQUIRED IMPORTED_TARGET webkit2gtk-4.1)
+- endif()
+ set(WEBKIT2 1 CACHE INTERNAL "WebKit2Gtk4")
+ endif()
+
diff --git a/app-office/gnucash/gnucash-5.1.ebuild b/app-office/gnucash/gnucash-5.1.ebuild
new file mode 100644
index 000000000000..26c5d06278eb
--- /dev/null
+++ b/app-office/gnucash/gnucash-5.1.ebuild
@@ -0,0 +1,221 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Please bump with app-doc/gnucash-docs
+
+PYTHON_COMPAT=( python3_{9..12} )
+
+inherit cmake gnome2-utils python-single-r1
+
+DESCRIPTION="A personal finance manager"
+HOMEPAGE="https://www.gnucash.org/"
+SRC_URI="https://github.com/Gnucash/gnucash/releases/download/${PV}/${P}.tar.bz2"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+
+IUSE="aqbanking debug doc examples gnome-keyring +gui mysql nls ofx postgres python quotes smartcard sqlite test"
+RESTRICT="!test? ( test )"
+
+# Examples doesn't build unless GUI is also built
+REQUIRED_USE="
+ examples? ( gui )
+ python? ( ${PYTHON_REQUIRED_USE} )
+ smartcard? ( aqbanking )
+"
+
+# dev-libs/boost must always be built with nls enabled.
+# net-libs/aqbanking dropped gtk with v6. So, to simplify the
+# dependency, we just rely on that.
+RDEPEND="
+ >=dev-libs/glib-2.56.1:2
+ >=dev-scheme/guile-2.2.0:=[regex]
+ >=sys-libs/zlib-1.1.4
+ dev-libs/boost:=[icu,nls]
+ dev-libs/icu:=
+ dev-libs/libxml2:2
+ dev-libs/libxslt
+ aqbanking? (
+ >=net-libs/aqbanking-6[ofx?]
+ >=sys-libs/gwenhywfar-4.20.0:=
+ smartcard? ( sys-libs/libchipcard )
+ )
+ gnome-keyring? ( >=app-crypt/libsecret-0.18 )
+ gui? (
+ >=x11-libs/gtk+-3.22.30:3
+ gnome-base/dconf
+ net-libs/webkit-gtk:4.1=
+ aqbanking? ( sys-libs/gwenhywfar:=[gtk] )
+ )
+ mysql? (
+ dev-db/libdbi
+ dev-db/libdbi-drivers[mysql]
+ )
+ ofx? ( >=dev-libs/libofx-0.9.12:= )
+ postgres? (
+ dev-db/libdbi
+ dev-db/libdbi-drivers[postgres]
+ )
+ python? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-python/pygobject[${PYTHON_USEDEP}]
+ ')
+ )
+ quotes? (
+ >=dev-perl/Finance-Quote-1.11
+ dev-perl/JSON-Parse
+ dev-perl/HTML-TableExtract
+ )
+ sqlite? (
+ dev-db/libdbi
+ dev-db/libdbi-drivers[sqlite]
+ )
+"
+
+# gtest is a required dep
+# see https://bugs.gnucash.org/show_bug.cgi?id=795250
+DEPEND="
+ ${RDEPEND}
+ >=sys-devel/gettext-0.20
+ dev-lang/perl
+ dev-perl/XML-Parser
+ sys-devel/libtool
+ >=dev-cpp/gtest-1.8.0
+"
+BDEPEND="
+ dev-lang/swig
+ >=dev-util/cmake-3.10
+ virtual/pkgconfig
+"
+PDEPEND="
+ doc? (
+ ~app-doc/gnucash-docs-${PV}
+ gnome-extra/yelp
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.0-exclude-license.patch"
+ "${FILESDIR}/${PN}-4.12-drop-broken-test.patch"
+# "${FILESDIR}/${PN}-4.13-no-werror.patch"
+
+ # This is only to prevent webkit2gtk-4 from being selected.
+ # https://bugs.gentoo.org/893676
+ "${FILESDIR}/${PN}-5.0-webkit2gtk-4.1.patch"
+)
+
+# guile generates ELF files without use of C or machine code
+# It's a portage false positive, bug #677600
+QA_PREBUILT='*[.]go'
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ # http://debbugs.gnu.org/cgi/bugreport.cgi?bug=38112
+ find "${S}" -name "*.scm" -exec touch {} + || die
+
+ # Fix tests writing to /tmp
+ local fixtestfiles=(
+ gnucash/report/test/test-report-html.scm
+ gnucash/report/reports/standard/test/test-invoice.scm
+ gnucash/report/reports/standard/test/test-new-owner-report.scm
+ gnucash/report/reports/standard/test/test-owner-report.scm
+ gnucash/report/reports/standard/test/test-transaction.scm
+ gnucash/report/reports/standard/test/test-portfolios.scm
+ gnucash/report/reports/standard/test/test-charts.scm
+ gnucash/report/test/test-report.scm
+ gnucash/report/test/test-commodity-utils.scm
+ gnucash/report/test/test-report-extras.scm
+ libgnucash/backend/dbi/test/test-backend-dbi-basic.cpp
+ libgnucash/backend/xml/test/test-xml-pricedb.cpp
+ )
+ for x in "${fixtestfiles[@]}"; do
+ sed -i -e "s|\"/tmp/|\"${T}/|g" "${S}/${x}" || die "sed of ${S}/${x} failed"
+ done
+}
+
+src_configure() {
+ export GUILE_AUTO_COMPILE=0
+
+ local sql_on_off="OFF"
+ if use mysql || use postgres || use sqlite ; then
+ sql_on_off="ON"
+ fi
+
+ local mycmakeargs=(
+ -DCOMPILE_GSCHEMAS=OFF
+ -DDISABLE_NLS=$(usex !nls)
+ -DWITH_AQBANKING=$(usex aqbanking)
+ -DWITH_GNUCASH=$(usex gui)
+ -DWITH_OFX=$(usex ofx)
+ -DWITH_PYTHON=$(usex python)
+ -DWITH_SQL=${sql_on_off}
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ LOCALE_TESTS=
+ if type locale >/dev/null 2>&1; then
+ MY_LOCALES="$(locale -a)"
+ if [[ "${MY_LOCALES}" != *en_US* ||
+ "${MY_LOCALES}" != *en_GB* ||
+ "${MY_LOCALES}" != *fr_FR* ]] ; then
+ ewarn "Missing one or more of en_US, en_GB, or fr_FR locales."
+ else
+ LOCALE_TESTS=true
+ fi
+ else
+ ewarn "'locale' not found."
+ fi
+
+ if [[ ! "${LOCALE_TESTS}" ]]; then
+ ewarn "Disabling test-qof and test-gnc-numeric."
+ echo 'set(CTEST_CUSTOM_TESTS_IGNORE test-qof test-gnc-numeric)' \
+ > "${BUILD_DIR}"/CTestCustom.cmake || die "Failed to disable test-qof and test-gnc-numeric!"
+ fi
+
+ cd "${BUILD_DIR}" || die "Failed to enter ${BUILD_DIR}"
+ XDG_DATA_HOME="${T}/$(whoami)" eninja check
+ cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+
+ dostrip -x /usr/$(get_libdir)/guile/2.2/site-ccache/gnucash/
+
+ use examples && docompress -x /usr/share/doc/${PF}/examples
+
+ if use python ; then
+ python_optimize
+ python_optimize "${ED}"/usr/share/gnucash/python
+ fi
+}
+
+pkg_postinst() {
+ if use gui ; then
+ xdg_icon_cache_update
+ gnome2_schemas_update
+ fi
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+}
+
+pkg_postrm() {
+ if use gui ; then
+ xdg_icon_cache_update
+ gnome2_schemas_update
+ fi
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+}
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-office/gnucash/, app-office/gnucash/files/
@ 2023-05-12 23:58 Sam James
0 siblings, 0 replies; 16+ messages in thread
From: Sam James @ 2023-05-12 23:58 UTC (permalink / raw
To: gentoo-commits
commit: dea7bdd29ddd599e91c31b6be2aeb09d2fc7a375
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri May 12 23:57:01 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri May 12 23:57:01 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dea7bdd2
app-office/gnucash: drop 4.12-r1
Bug: https://bugs.gentoo.org/893676
Signed-off-by: Sam James <sam <AT> gentoo.org>
app-office/gnucash/Manifest | 1 -
.../files/gnucash-3.8-examples-subdir.patch | 10 -
.../gnucash/files/gnucash-4.12-fix-test.patch | 20 --
app-office/gnucash/gnucash-4.12-r1.ebuild | 223 ---------------------
4 files changed, 254 deletions(-)
diff --git a/app-office/gnucash/Manifest b/app-office/gnucash/Manifest
index f9528018322d..55cde8404d6d 100644
--- a/app-office/gnucash/Manifest
+++ b/app-office/gnucash/Manifest
@@ -1,2 +1 @@
-DIST gnucash-4.12.tar.bz2 14552115 BLAKE2B 6d5faf2fa1d096315bd6c346e0291109669fd9df4bc0404f4dbc2fc56c8a361aeff57e3535fea862f21ff59391319010b7f28c9bd7df658a1b0c518894862585 SHA512 4c930dfc9a10dfd06d3c52874a61e533ddc39deb1c334162dc3a096d998dbdfcac61520ae94dedbc6742b7807e250ff92d26067a70c4ab156e46bed333bbfd37
DIST gnucash-4.13.tar.bz2 14658572 BLAKE2B 027151a800194b854ad8bbe5175b24c99e924331f2b0a35745870542c2ade1e7347d2cbc3e400f621c6b5c1bb708633609a1891e729f8923d0c717537f884ca9 SHA512 7f1f5a6c6e537aca7e88c806461c58e90256954842026d801dba48586fa5817519220f532b9e460bc34751c94e6be4a80aac06325b7bada716616a735e2de3d3
diff --git a/app-office/gnucash/files/gnucash-3.8-examples-subdir.patch b/app-office/gnucash/files/gnucash-3.8-examples-subdir.patch
deleted file mode 100644
index b271be896c03..000000000000
--- a/app-office/gnucash/files/gnucash-3.8-examples-subdir.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/doc/examples/CMakeLists.txt
-+++ b/doc/examples/CMakeLists.txt
-@@ -21,6 +21,6 @@
- web.qif
- )
-
--install(FILES ${examples_DATA} DESTINATION ${CMAKE_INSTALL_DOCDIR})
-+install(FILES ${examples_DATA} DESTINATION ${CMAKE_INSTALL_DOCDIR}/examples)
-
- set_dist_list(examples_DIST ${examples_DATA} CMakeLists.txt )
diff --git a/app-office/gnucash/files/gnucash-4.12-fix-test.patch b/app-office/gnucash/files/gnucash-4.12-fix-test.patch
deleted file mode 100644
index 03b4bba29c24..000000000000
--- a/app-office/gnucash/files/gnucash-4.12-fix-test.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-https://github.com/Gnucash/gnucash/pull/1472
-
-From 6fe2028bca49f455b7841d178a712baec8f72919 Mon Sep 17 00:00:00 2001
-From: Marco Scardovi <mscardovi@icloud.com>
-Date: Thu, 24 Nov 2022 23:20:07 +0100
-Subject: [PATCH] Fix test
-
-Signed-off-by: Marco Scardovi <mscardovi@icloud.com>
---- a/libgnucash/engine/mocks/fake-qofquery.cpp
-+++ b/libgnucash/engine/mocks/fake-qofquery.cpp
-@@ -59,8 +59,8 @@ static class QofFakeQueryPool
- {
- ASSERT_TRUE(query_used((QofQuery*)query));
- auto it = std::find(m_queriesUsed.begin(), m_queriesUsed.end(), query);
-- m_queriesUsed.erase(it);
- m_queriesConsumed.push_back(*it);
-+ m_queriesUsed.erase(it);
- }
-
- /* Remove a formerly added QofFakeQueryObject from the pool */
diff --git a/app-office/gnucash/gnucash-4.12-r1.ebuild b/app-office/gnucash/gnucash-4.12-r1.ebuild
deleted file mode 100644
index b6ca92039c22..000000000000
--- a/app-office/gnucash/gnucash-4.12-r1.ebuild
+++ /dev/null
@@ -1,223 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Please bump with app-doc/gnucash-docs
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit cmake gnome2-utils python-single-r1 xdg-utils
-
-DESCRIPTION="A personal finance manager"
-HOMEPAGE="https://www.gnucash.org/"
-SRC_URI="https://github.com/Gnucash/gnucash/releases/download/${PV}/${P}.tar.bz2"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc ~ppc64 ~riscv x86"
-
-IUSE="aqbanking debug doc examples gnome-keyring +gui mysql nls ofx postgres python quotes register2 smartcard sqlite test"
-RESTRICT="!test? ( test )"
-
-# Examples doesn't build unless GUI is also built
-REQUIRED_USE="
- examples? ( gui )
- python? ( ${PYTHON_REQUIRED_USE} )
- smartcard? ( aqbanking )
-"
-
-# dev-libs/boost must always be built with nls enabled.
-# net-libs/aqbanking dropped gtk with v6. So, to simplify the
-# dependency, we just rely on that.
-RDEPEND="
- >=dev-libs/glib-2.56.1:2
- >=dev-scheme/guile-2.2.0:=[regex]
- >=sys-libs/zlib-1.1.4
- dev-libs/boost:=[icu,nls]
- dev-libs/icu:=
- dev-libs/libxml2:2
- dev-libs/libxslt
- aqbanking? (
- >=net-libs/aqbanking-6[ofx?]
- >=sys-libs/gwenhywfar-4.20.0:=
- smartcard? ( sys-libs/libchipcard )
- )
- gnome-keyring? ( >=app-crypt/libsecret-0.18 )
- gui? (
- >=x11-libs/gtk+-3.22.30:3
- gnome-base/dconf
- net-libs/webkit-gtk:4=
- aqbanking? ( sys-libs/gwenhywfar:=[gtk] )
- )
- mysql? (
- dev-db/libdbi
- dev-db/libdbi-drivers[mysql]
- )
- ofx? ( >=dev-libs/libofx-0.9.12:= )
- postgres? (
- dev-db/libdbi
- dev-db/libdbi-drivers[postgres]
- )
- python? (
- ${PYTHON_DEPS}
- $(python_gen_cond_dep '
- dev-python/pygobject[${PYTHON_USEDEP}]
- ')
- )
- quotes? (
- >=dev-perl/Finance-Quote-1.11
- dev-perl/Date-Manip
- dev-perl/HTML-TableExtract
- )
- sqlite? (
- dev-db/libdbi
- dev-db/libdbi-drivers[sqlite]
- )
-"
-
-# gtest is a required dep
-# see https://bugs.gnucash.org/show_bug.cgi?id=795250
-DEPEND="
- ${RDEPEND}
- >=sys-devel/gettext-0.20
- dev-lang/perl
- dev-perl/XML-Parser
- sys-devel/libtool
- >=dev-cpp/gtest-1.8.0
-"
-BDEPEND="
- dev-lang/swig
- >=dev-util/cmake-3.10
- virtual/pkgconfig
-"
-PDEPEND="
- doc? (
- ~app-doc/gnucash-docs-${PV}
- gnome-extra/yelp
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.8-examples-subdir.patch"
- "${FILESDIR}/${PN}-3.8-exclude-license.patch"
- "${FILESDIR}/${P}-drop-broken-test.patch"
- # will be fixed on future version, see
- # https://github.com/Gnucash/gnucash/pull/1472
- "${FILESDIR}/${P}-fix-test.patch"
-)
-
-# guile generates ELF files without use of C or machine code
-# It's a portage false positive, bug #677600
-QA_PREBUILT='*[.]go'
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- cmake_src_prepare
-
- # http://debbugs.gnu.org/cgi/bugreport.cgi?bug=38112
- find "${S}" -name "*.scm" -exec touch {} + || die
-
- # Fix tests writing to /tmp
- local fixtestfiles=(
- gnucash/report/test/test-report-html.scm
- gnucash/report/reports/standard/test/test-invoice.scm
- gnucash/report/reports/standard/test/test-new-owner-report.scm
- gnucash/report/reports/standard/test/test-owner-report.scm
- gnucash/report/reports/standard/test/test-transaction.scm
- gnucash/report/reports/standard/test/test-portfolios.scm
- gnucash/report/reports/standard/test/test-charts.scm
- gnucash/report/test/test-report.scm
- gnucash/report/test/test-commodity-utils.scm
- gnucash/report/test/test-report-extras.scm
- libgnucash/backend/dbi/test/test-backend-dbi-basic.cpp
- libgnucash/backend/xml/test/test-xml-pricedb.cpp
- )
- for x in "${fixtestfiles[@]}"; do
- sed -i -e "s|\"/tmp/|\"${T}/|g" "${S}/${x}" || die "sed of ${S}/${x} failed"
- done
-}
-
-src_configure() {
- export GUILE_AUTO_COMPILE=0
-
- local sql_on_off="OFF"
- if use mysql || use postgres || use sqlite ; then
- sql_on_off="ON"
- fi
-
- local mycmakeargs=(
- -DCOMPILE_GSCHEMAS=OFF
- -DDISABLE_NLS=$(usex !nls)
- -DENABLE_REGISTER2=$(usex register2)
- -DWITH_AQBANKING=$(usex aqbanking)
- -DWITH_OFX=$(usex ofx)
- -DWITH_PYTHON=$(usex python)
- -DWITH_SQL=${sql_on_off}
- -DWITH_GNUCASH=$(usex gui)
- )
-
- cmake_src_configure
-}
-
-src_test() {
- LOCALE_TESTS=
- if type locale >/dev/null 2>&1; then
- MY_LOCALES="$(locale -a)"
- if [[ "${MY_LOCALES}" != *en_US* ||
- "${MY_LOCALES}" != *en_GB* ||
- "${MY_LOCALES}" != *fr_FR* ]] ; then
- ewarn "Missing one or more of en_US, en_GB, or fr_FR locales."
- else
- LOCALE_TESTS=true
- fi
- else
- ewarn "'locale' not found."
- fi
-
- if [[ ! "${LOCALE_TESTS}" ]]; then
- ewarn "Disabling test-qof and test-gnc-numeric."
- echo 'set(CTEST_CUSTOM_TESTS_IGNORE test-qof test-gnc-numeric)' \
- > "${BUILD_DIR}"/CTestCustom.cmake || die "Failed to disable test-qof and test-gnc-numeric!"
- fi
-
- cd "${BUILD_DIR}" || die "Failed to enter ${BUILD_DIR}"
- XDG_DATA_HOME="${T}/$(whoami)" eninja check
- cmake_src_test
-}
-
-src_install() {
- cmake_src_install
-
- if use examples ; then
- docompress -x /usr/share/doc/${PF}/examples
- else
- rm -r "${ED}"/usr/share/doc/${PF}/examples
- fi
-
- if use python ; then
- python_optimize
- python_optimize "${ED}"/usr/share/gnucash/python
- fi
-}
-
-pkg_postinst() {
- if use gui ; then
- xdg_icon_cache_update
- gnome2_schemas_update
- fi
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
-}
-
-pkg_postrm() {
- if use gui ; then
- xdg_icon_cache_update
- gnome2_schemas_update
- fi
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
-}
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-office/gnucash/, app-office/gnucash/files/
@ 2021-04-21 18:51 Sam James
0 siblings, 0 replies; 16+ messages in thread
From: Sam James @ 2021-04-21 18:51 UTC (permalink / raw
To: gentoo-commits
commit: 0201ab9e0d9fda7f8b440fc64f10849091fdd4c4
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 21 10:04:58 2021 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Apr 21 18:50:28 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0201ab9e
app-office/gnucash: move glib patch to devspace (fix SizeViolation)
Bug: https://bugs.gentoo.org/777693
Signed-off-by: Sam James <sam <AT> gentoo.org>
app-office/gnucash/Manifest | 1 +
.../gnucash-4.4-Fix-build-with-glib-2.68.patch | 2372 --------------------
app-office/gnucash/gnucash-4.4.ebuild | 3 +-
3 files changed, 3 insertions(+), 2373 deletions(-)
diff --git a/app-office/gnucash/Manifest b/app-office/gnucash/Manifest
index bb1d7607c5d..d1579bd653d 100644
--- a/app-office/gnucash/Manifest
+++ b/app-office/gnucash/Manifest
@@ -1 +1,2 @@
+DIST gnucash-4.4-Fix-build-with-glib-2.68.patch.xz 9120 BLAKE2B b04cc859ab2817b69e9a5b3b92d73dd16aa4b3264202d0d089c80251a9ead5f459c6918fc605fda50e98db01d81dc4691ae58d7ff2eb4dad8c805edb523e36eb SHA512 3aea6195f47ed4c3ca395f10b7575bcabf8f5dcb185b938ece19a518de0f0bd18e9bbe19b84eca8ec99e3a076745e441f3d47d894049f0cfb88168723338fbf0
DIST gnucash-4.4.tar.bz2 14430959 BLAKE2B 7a9e04957919a99e083dd5c1ac04150f77ab64eef277c0cd63ef90ade4a82875447f291d4f14499a14e987a86a7b7615d4a3cbb79a980be7022cb4f511b71368 SHA512 5882e5a91081bb9279ac5dc8798352cb15ebb934d1d37c6d6639244602108e067ece5b7f51ba32c9c413c1469d08ca32a73369e6af34e41c3ef704033c71f336
diff --git a/app-office/gnucash/files/gnucash-4.4-Fix-build-with-glib-2.68.patch b/app-office/gnucash/files/gnucash-4.4-Fix-build-with-glib-2.68.patch
deleted file mode 100644
index 1efa793db3a..00000000000
--- a/app-office/gnucash/files/gnucash-4.4-Fix-build-with-glib-2.68.patch
+++ /dev/null
@@ -1,2372 +0,0 @@
-From ca76877e8e72a1e716e084eac6953e53ba1ed428 Mon Sep 17 00:00:00 2001
-From: Bill Nottingham <notting@splat.cc>
-Date: Sat, 13 Feb 2021 16:35:27 -0500
-Subject: [PATCH] Fix build with glib 2.68
-
-c0f2c3ae2 ("Fix build with glib2 2.67.x.")
-7a7c26f87 ("Move glib and gtk includes out of extern C for tests.")
-1dd426e31 ("Potentially fix CI test on Arch related to glib and c++")
-cb0436501 ("More fixes for Arch ci failure")
-e9dfd0d9e ("Still more fixes for Arch ci failure")
-c49b45d8f ("Finish the glib 2.67 fixes for CI tests.")
----
- bindings/guile/test/test-scm-query.cpp | 4 ++--
- gnucash/gnome-utils/gnc-amount-edit.h | 2 ++
- gnucash/gnome-utils/gnc-tree-model-commodity.c | 1 +
- gnucash/gnome/assistant-loan.cpp | 5 +++--
- gnucash/import-export/csv-imp/gnc-imp-props-price.cpp | 6 +++---
- gnucash/import-export/csv-imp/gnc-imp-props-tx.cpp | 5 +++--
- .../test/test-import-pending-matches.cpp | 5 +++--
- gnucash/register/register-gnome/datecell-gnome.c | 1 +
- libgnucash/app-utils/gnc-sx-instance-model.c | 1 +
- libgnucash/app-utils/gnc-ui-balances.c | 1 +
- libgnucash/app-utils/test/test-autoclear.cpp | 2 +-
- libgnucash/app-utils/test/test-option-util.cpp | 7 ++++---
- libgnucash/app-utils/test/test-print-parse-amount.cpp | 5 +++--
- libgnucash/app-utils/test/test-print-queries.cpp | 6 +++---
- libgnucash/app-utils/test/test-scm-query-string.cpp | 7 +++----
- libgnucash/app-utils/test/test-sx.cpp | 5 +++--
- libgnucash/backend/dbi/gnc-backend-dbi.cpp | 7 ++++---
- libgnucash/backend/dbi/test/test-backend-dbi.cpp | 2 +-
- libgnucash/backend/sql/gnc-address-sql.cpp | 4 ++--
- libgnucash/backend/sql/gnc-book-sql.cpp | 4 ++--
- libgnucash/backend/sql/gnc-customer-sql.cpp | 3 ++-
- libgnucash/backend/sql/gnc-employee-sql.cpp | 2 +-
- libgnucash/backend/sql/gnc-entry-sql.cpp | 2 +-
- libgnucash/backend/sql/gnc-job-sql.cpp | 2 +-
- libgnucash/backend/sql/gnc-price-sql.cpp | 3 +--
- libgnucash/backend/sql/gnc-recurrence-sql.cpp | 3 +--
- libgnucash/backend/sql/gnc-schedxaction-sql.cpp | 4 ++--
- libgnucash/backend/sql/gnc-vendor-sql.cpp | 4 ++--
- libgnucash/backend/sql/test/test-sqlbe.cpp | 3 ++-
- libgnucash/backend/sql/test/utest-gnc-backend-sql.cpp | 3 ++-
- libgnucash/backend/xml/gnc-account-xml-v2.cpp | 4 ++--
- libgnucash/backend/xml/gnc-address-xml-v2.cpp | 4 ++--
- libgnucash/backend/xml/gnc-backend-xml.cpp | 7 ++++---
- libgnucash/backend/xml/gnc-bill-term-xml-v2.cpp | 2 --
- libgnucash/backend/xml/gnc-book-xml-v2.cpp | 4 ++--
- libgnucash/backend/xml/gnc-budget-xml-v2.cpp | 4 ++--
- libgnucash/backend/xml/gnc-commodity-xml-v2.cpp | 4 ++--
- libgnucash/backend/xml/gnc-customer-xml-v2.cpp | 4 ++--
- libgnucash/backend/xml/gnc-employee-xml-v2.cpp | 3 +--
- libgnucash/backend/xml/gnc-entry-xml-v2.cpp | 4 ++--
- libgnucash/backend/xml/gnc-freqspec-xml-v2.cpp | 3 +--
- libgnucash/backend/xml/gnc-invoice-xml-v2.cpp | 3 +--
- libgnucash/backend/xml/gnc-job-xml-v2.cpp | 3 +--
- libgnucash/backend/xml/gnc-lot-xml-v2.cpp | 3 +--
- libgnucash/backend/xml/gnc-order-xml-v2.cpp | 3 +--
- libgnucash/backend/xml/gnc-owner-xml-v2.cpp | 3 +--
- libgnucash/backend/xml/gnc-recurrence-xml-v2.cpp | 3 +--
- libgnucash/backend/xml/gnc-schedxaction-xml-v2.cpp | 3 +--
- libgnucash/backend/xml/gnc-tax-table-xml-v2.cpp | 3 +--
- libgnucash/backend/xml/gnc-transaction-xml-v2.cpp | 3 +--
- libgnucash/backend/xml/gnc-vendor-xml-v2.cpp | 3 +--
- libgnucash/backend/xml/gnc-xml-backend.cpp | 4 ++--
- libgnucash/backend/xml/gnc-xml-helper.cpp | 3 ---
- libgnucash/backend/xml/gnc-xml-helper.h | 3 +++
- libgnucash/backend/xml/io-example-account.cpp | 6 +++---
- libgnucash/backend/xml/io-gncxml-gen.h | 4 +---
- libgnucash/backend/xml/io-gncxml-v2.cpp | 5 +++--
- libgnucash/backend/xml/io-utils.cpp | 2 +-
- libgnucash/backend/xml/sixtp-dom-generators.cpp | 2 +-
- libgnucash/backend/xml/sixtp-dom-parsers.cpp | 4 ++--
- libgnucash/backend/xml/sixtp-to-dom-parser.cpp | 5 ++---
- libgnucash/backend/xml/sixtp.cpp | 6 +++---
- libgnucash/backend/xml/sixtp.h | 2 +-
- libgnucash/backend/xml/test/test-dom-converters1.cpp | 7 ++++---
- libgnucash/backend/xml/test/test-dom-parser1.cpp | 7 ++++---
- libgnucash/backend/xml/test/test-file-stuff.cpp | 7 ++++---
- libgnucash/backend/xml/test/test-file-stuff.h | 4 ++--
- .../backend/xml/test/test-load-example-account.cpp | 6 ++++--
- libgnucash/backend/xml/test/test-load-xml2.cpp | 7 ++++---
- libgnucash/backend/xml/test/test-save-in-lang.cpp | 8 +++++---
- libgnucash/backend/xml/test/test-xml-account.cpp | 8 +++++---
- libgnucash/backend/xml/test/test-xml-commodity.cpp | 8 +++++---
- libgnucash/backend/xml/test/test-xml-pricedb.cpp | 5 +++--
- libgnucash/backend/xml/test/test-xml-transaction.cpp | 5 +++--
- libgnucash/backend/xml/test/test-xml2-is-file.cpp | 3 +--
- libgnucash/core-utils/gnc-filepath-utils.cpp | 9 +++++----
- libgnucash/core-utils/gnc-locale-utils.cpp | 3 ---
- libgnucash/core-utils/gnc-prefs.h | 4 ++++
- libgnucash/core-utils/test/gtest-path-utilities.cpp | 3 ++-
- libgnucash/engine/SX-book.h | 4 ++++
- libgnucash/engine/engine-helpers.h | 4 ++++
- libgnucash/engine/gnc-commodity.h | 5 +++++
- libgnucash/engine/gnc-date.cpp | 2 +-
- libgnucash/engine/gnc-date.h | 11 ++++++++++-
- libgnucash/engine/gnc-engine.h | 5 +++++
- libgnucash/engine/gnc-numeric.cpp | 2 +-
- libgnucash/engine/gncBusiness.h | 4 ++++
- libgnucash/engine/gncEntry.h | 6 ++++++
- libgnucash/engine/guid.h | 2 +-
- libgnucash/engine/qof-string-cache.cpp | 3 ++-
- libgnucash/engine/qof.h | 4 ++++
- libgnucash/engine/qofbook.cpp | 2 +-
- libgnucash/engine/qofbook.h | 1 +
- libgnucash/engine/qofchoice.cpp | 5 -----
- libgnucash/engine/qofclass.cpp | 3 ---
- libgnucash/engine/qofevent.cpp | 3 ---
- libgnucash/engine/qofid.cpp | 2 +-
- libgnucash/engine/qoflog.cpp | 8 ++++----
- libgnucash/engine/qofobject.cpp | 3 ---
- libgnucash/engine/qofquery.cpp | 2 +-
- libgnucash/engine/qofsession.cpp | 2 +-
- libgnucash/engine/test-core/test-engine-stuff.h | 2 +-
- libgnucash/engine/test/test-account-object.cpp | 3 ++-
- libgnucash/engine/test/test-commodities.cpp | 4 ++--
- libgnucash/engine/test/test-gnc-guid-old.cpp | 3 ++-
- libgnucash/engine/test/test-group-vs-book.cpp | 3 ++-
- libgnucash/engine/test/test-guid.cpp | 3 ++-
- libgnucash/engine/test/test-lots.cpp | 3 ++-
- libgnucash/engine/test/test-numeric.cpp | 2 +-
- libgnucash/engine/test/test-qofinstance.cpp | 3 ++-
- libgnucash/engine/test/test-qofsession-old.cpp | 3 ++-
- libgnucash/engine/test/test-query.cpp | 3 ++-
- libgnucash/engine/test/test-split-vs-account.cpp | 3 ++-
- libgnucash/engine/test/test-transaction-reversal.cpp | 3 ++-
- libgnucash/engine/test/test-transaction-voiding.cpp | 3 ++-
- libgnucash/engine/test/utest-Account.cpp | 3 ++-
- libgnucash/engine/test/utest-Split.cpp | 3 ++-
- libgnucash/engine/test/utest-Transaction.cpp | 3 ++-
- 118 files changed, 256 insertions(+), 199 deletions(-)
-
-diff --git a/bindings/guile/test/test-scm-query.cpp b/bindings/guile/test/test-scm-query.cpp
-index 8ded44992..b8ae768e7 100644
---- a/bindings/guile/test/test-scm-query.cpp
-+++ b/bindings/guile/test/test-scm-query.cpp
-@@ -18,12 +18,12 @@
- * *
- \********************************************************************/
-
-+#include <config.h>
- #include <libguile.h>
-+#include <glib.h>
-
- extern "C"
- {
--#include <config.h>
--#include <glib.h>
-
- #include "gnc-engine-guile.h"
- #include "test-engine-stuff.h"
-diff --git a/gnucash/gnome-utils/gnc-amount-edit.h b/gnucash/gnome-utils/gnc-amount-edit.h
-index b107af1a3..45d88dd4a 100644
---- a/gnucash/gnome-utils/gnc-amount-edit.h
-+++ b/gnucash/gnome-utils/gnc-amount-edit.h
-@@ -32,6 +32,8 @@
- #include "qof.h"
- #include "gnc-ui-util.h"
-
-+#include <gtk/gtk.h>
-+
- #define GNC_TYPE_AMOUNT_EDIT (gnc_amount_edit_get_type())
- #define GNC_AMOUNT_EDIT(obj) G_TYPE_CHECK_INSTANCE_CAST (obj, GNC_TYPE_AMOUNT_EDIT, GNCAmountEdit)
- #define GNC_AMOUNT_EDIT_CLASS(klass) G_TYPE_CHECK_CLASS_CAST (klass, GNC_TYPE_AMOUNT_EDIT, GNCAmountEditClass)
-diff --git a/gnucash/gnome-utils/gnc-tree-model-commodity.c b/gnucash/gnome-utils/gnc-tree-model-commodity.c
-index dbf1c5cca..cdb6e297d 100644
---- a/gnucash/gnome-utils/gnc-tree-model-commodity.c
-+++ b/gnucash/gnome-utils/gnc-tree-model-commodity.c
-@@ -36,6 +36,7 @@
-
- #include <config.h>
-
-+#include <glib/gi18n.h>
- #include <gtk/gtk.h>
- #include <string.h>
-
-diff --git a/gnucash/gnome/assistant-loan.cpp b/gnucash/gnome/assistant-loan.cpp
-index ed08172f6..6878de2d4 100644
---- a/gnucash/gnome/assistant-loan.cpp
-+++ b/gnucash/gnome/assistant-loan.cpp
-@@ -26,8 +26,6 @@
- extern "C"
- {
- #include <config.h>
--#include <gtk/gtk.h>
--#include <glib/gi18n.h>
- #include <string.h>
- #include <stdlib.h>
- #include <math.h>
-@@ -52,6 +50,9 @@ extern "C"
- #endif
- }
-
-+#include <glib.h>
-+#include <glib/gi18n.h>
-+#include <gtk/gtk.h>
- #include <gnc-locale-utils.hpp>
- #include <boost/locale.hpp>
- #include <string>
-diff --git a/gnucash/import-export/csv-imp/gnc-imp-props-price.cpp b/gnucash/import-export/csv-imp/gnc-imp-props-price.cpp
-index 5419b1726..1116daeb6 100644
---- a/gnucash/import-export/csv-imp/gnc-imp-props-price.cpp
-+++ b/gnucash/import-export/csv-imp/gnc-imp-props-price.cpp
-@@ -27,13 +27,13 @@ extern "C" {
- #include <windows.h>
- #endif
-
--#include <glib.h>
--#include <glib/gi18n.h>
--
- #include "engine-helpers.h"
- #include "gnc-ui-util.h"
- }
-
-+#include <glib.h>
-+#include <glib/gi18n.h>
-+
- #include <exception>
- #include <map>
- #include <string>
-diff --git a/gnucash/import-export/csv-imp/gnc-imp-props-tx.cpp b/gnucash/import-export/csv-imp/gnc-imp-props-tx.cpp
-index 4129c317a..dac6baf8e 100644
---- a/gnucash/import-export/csv-imp/gnc-imp-props-tx.cpp
-+++ b/gnucash/import-export/csv-imp/gnc-imp-props-tx.cpp
-@@ -26,8 +26,6 @@ extern "C" {
- #include <windows.h>
- #endif
-
--#include <glib.h>
--#include <glib/gi18n.h>
-
- #include "engine-helpers.h"
- #include "gnc-csv-account-map.h"
-@@ -39,6 +37,9 @@ extern "C" {
-
- }
-
-+#include <glib.h>
-+#include <glib/gi18n.h>
-+
- #include <algorithm>
- #include <exception>
- #include <map>
-diff --git a/gnucash/import-export/test/test-import-pending-matches.cpp b/gnucash/import-export/test/test-import-pending-matches.cpp
-index e5dccc441..3d3d61dfc 100644
---- a/gnucash/import-export/test/test-import-pending-matches.cpp
-+++ b/gnucash/import-export/test/test-import-pending-matches.cpp
-@@ -1,9 +1,10 @@
-+#include <glib.h>
-+#include <gtk/gtk.h> /* for references in import-backend.h */
-+
- extern "C" {
- #include <config.h>
- #include <unittest-support.h>
-
--#include <glib.h>
--#include <gtk/gtk.h> /* for references in import-backend.h */
- #include "import-backend.h"
- #include "import-pending-matches.h"
- #include "Split.h"
-diff --git a/gnucash/register/register-gnome/datecell-gnome.c b/gnucash/register/register-gnome/datecell-gnome.c
-index c716465b4..ca0b961f7 100644
---- a/gnucash/register/register-gnome/datecell-gnome.c
-+++ b/gnucash/register/register-gnome/datecell-gnome.c
-@@ -37,6 +37,7 @@
- #include <stdlib.h>
- #include <string.h>
- #include <time.h>
-+#include <glib/gi18n.h>
- #include <gdk/gdkkeysyms.h>
-
- #include "datecell.h"
-diff --git a/libgnucash/app-utils/gnc-sx-instance-model.c b/libgnucash/app-utils/gnc-sx-instance-model.c
-index 26a554f41..0f36e48af 100644
---- a/libgnucash/app-utils/gnc-sx-instance-model.c
-+++ b/libgnucash/app-utils/gnc-sx-instance-model.c
-@@ -32,6 +32,7 @@
-
- #include <config.h>
- #include <glib.h>
-+#include <glib/gi18n.h>
- #include <glib-object.h>
- #include <stdlib.h>
-
-diff --git a/libgnucash/app-utils/gnc-ui-balances.c b/libgnucash/app-utils/gnc-ui-balances.c
-index 27ce97666..86b747cbc 100644
---- a/libgnucash/app-utils/gnc-ui-balances.c
-+++ b/libgnucash/app-utils/gnc-ui-balances.c
-@@ -29,6 +29,7 @@
- #include "gnc-ui-util.h"
-
- #include <glib.h>
-+#include <glib/gi18n.h>
-
- #include "Account.h"
- #include "Split.h"
-diff --git a/libgnucash/app-utils/test/test-autoclear.cpp b/libgnucash/app-utils/test/test-autoclear.cpp
-index abb84e1c5..9a44e3c9d 100644
---- a/libgnucash/app-utils/test/test-autoclear.cpp
-+++ b/libgnucash/app-utils/test/test-autoclear.cpp
-@@ -22,7 +22,7 @@
- * Boston, MA 02110-1301, USA gnu@gnu.org *
- ********************************************************************/
- #include "config.h"
--
-+#include <glib.h>
- // GoogleTest is written in C++, however, the function we test in C.
- extern "C" {
- #include "../gnc-ui-balances.h"
-diff --git a/libgnucash/app-utils/test/test-option-util.cpp b/libgnucash/app-utils/test/test-option-util.cpp
-index c00f32978..c4b1c0c40 100644
---- a/libgnucash/app-utils/test/test-option-util.cpp
-+++ b/libgnucash/app-utils/test/test-option-util.cpp
-@@ -22,11 +22,12 @@
- * Boston, MA 02110-1301, USA gnu@gnu.org *
- ********************************************************************/
- #include <kvp-frame.hpp>
--#include <gmp.h>
--extern "C"
--{
-+#include <gmp.h>
- #include <config.h>
- #include <glib.h>
-+
-+extern "C"
-+{
- #include <unittest-support.h>
- #include <qofbookslots.h>
- #include "test-engine-stuff.h"
-diff --git a/libgnucash/app-utils/test/test-print-parse-amount.cpp b/libgnucash/app-utils/test/test-print-parse-amount.cpp
-index 62d378530..8dea72099 100644
---- a/libgnucash/app-utils/test/test-print-parse-amount.cpp
-+++ b/libgnucash/app-utils/test/test-print-parse-amount.cpp
-@@ -18,12 +18,13 @@
- * *
- \********************************************************************/
-
-+#include <glib.h>
-+#include <glib/gprintf.h>
-+
- extern "C"
- {
- #include <config.h>
--#include <glib.h>
- #include <stdlib.h>
--#include <glib/gprintf.h>
-
- #include "gnc-ui-util.h"
- #include "gnc-numeric.h"
-diff --git a/libgnucash/app-utils/test/test-print-queries.cpp b/libgnucash/app-utils/test/test-print-queries.cpp
-index 9d6fa5a04..972758ea8 100644
---- a/libgnucash/app-utils/test/test-print-queries.cpp
-+++ b/libgnucash/app-utils/test/test-print-queries.cpp
-@@ -18,13 +18,13 @@
- * *
- \********************************************************************/
-
-+#include <config.h>
-+#include <glib.h>
- #include <libguile.h>
-+#include "guile-mappings.h"
-
- extern "C"
- {
--#include <config.h>
--#include <glib.h>
--#include "guile-mappings.h"
-
- #include "gnc-engine-guile.h"
- #include "test-engine-stuff.h"
-diff --git a/libgnucash/app-utils/test/test-scm-query-string.cpp b/libgnucash/app-utils/test/test-scm-query-string.cpp
-index 13e9ad35e..a31078858 100644
---- a/libgnucash/app-utils/test/test-scm-query-string.cpp
-+++ b/libgnucash/app-utils/test/test-scm-query-string.cpp
-@@ -18,14 +18,13 @@
- * *
- \********************************************************************/
-
--#include <libguile.h>
--
--extern "C"
--{
- #include <config.h>
- #include <glib.h>
- #include "guile-mappings.h"
-+#include <libguile.h>
-
-+extern "C"
-+{
- #include "gnc-engine-guile.h"
- #include "gnc-guile-utils.h"
- #include "test-engine-stuff.h"
-diff --git a/libgnucash/app-utils/test/test-sx.cpp b/libgnucash/app-utils/test/test-sx.cpp
-index b635c00d2..c6070d9ab 100644
---- a/libgnucash/app-utils/test/test-sx.cpp
-+++ b/libgnucash/app-utils/test/test-sx.cpp
-@@ -18,11 +18,12 @@
- * *
- \********************************************************************/
-
-+#include <config.h>
-+#include <glib.h>
-+
- extern "C"
- {
--#include <config.h>
- #include <stdlib.h>
--#include <glib.h>
- #include "SX-book.h"
- #include "gnc-date.h"
- #include "gnc-sx-instance-model.h"
-diff --git a/libgnucash/backend/dbi/gnc-backend-dbi.cpp b/libgnucash/backend/dbi/gnc-backend-dbi.cpp
-index 25699e5ca..f5886c7d1 100644
---- a/libgnucash/backend/dbi/gnc-backend-dbi.cpp
-+++ b/libgnucash/backend/dbi/gnc-backend-dbi.cpp
-@@ -48,9 +48,6 @@ extern "C"
-
- #include <inttypes.h>
- #include <errno.h>
--#include <glib.h>
--#include <glib/gstdio.h>
--
- #include "qof.h"
- #include "qofquery-p.h"
- #include "qofquerycore-p.h"
-@@ -72,6 +69,10 @@ extern "C"
- #endif
-
- }
-+
-+#include <glib.h>
-+#include <glib/gstdio.h>
-+
- #include <boost/regex.hpp>
- #include <string>
- #include <iomanip>
-diff --git a/libgnucash/backend/dbi/test/test-backend-dbi.cpp b/libgnucash/backend/dbi/test/test-backend-dbi.cpp
-index 4ba484448..acb21e40c 100644
---- a/libgnucash/backend/dbi/test/test-backend-dbi.cpp
-+++ b/libgnucash/backend/dbi/test/test-backend-dbi.cpp
-@@ -19,11 +19,11 @@
- * 51 Franklin Street, Fifth Floor Fax: +1-617-542-2652 *
- * Boston, MA 02110-1301, USA gnu@gnu.org *
- \********************************************************************/
-+#include <glib.h>
-
- extern "C"
- {
- #include <config.h>
--#include <glib.h>
- #include "qof.h"
- #include "cashobjects.h"
- }
-diff --git a/libgnucash/backend/sql/gnc-address-sql.cpp b/libgnucash/backend/sql/gnc-address-sql.cpp
-index e3c18ca9b..8e78f0876 100644
---- a/libgnucash/backend/sql/gnc-address-sql.cpp
-+++ b/libgnucash/backend/sql/gnc-address-sql.cpp
-@@ -31,12 +31,12 @@ extern "C"
- {
- #include <config.h>
-
--#include <glib.h>
--
- #include "gnc-engine.h"
-
- #include "gncAddress.h"
- }
-+#include <glib.h>
-+
- #include <cstdlib>
- #include <cstring>
- #include <sstream>
-diff --git a/libgnucash/backend/sql/gnc-book-sql.cpp b/libgnucash/backend/sql/gnc-book-sql.cpp
-index d38487deb..580708f37 100644
---- a/libgnucash/backend/sql/gnc-book-sql.cpp
-+++ b/libgnucash/backend/sql/gnc-book-sql.cpp
-@@ -29,8 +29,6 @@ extern "C"
- {
- #include <config.h>
-
--#include <glib.h>
--
- #include "qof.h"
-
- #include "gnc-engine.h"
-@@ -42,6 +40,8 @@ extern "C"
- #endif
- }
-
-+#include <glib.h>
-+
- #include "gnc-sql-connection.hpp"
- #include "gnc-sql-backend.hpp"
- #include "gnc-sql-object-backend.hpp"
-diff --git a/libgnucash/backend/sql/gnc-customer-sql.cpp b/libgnucash/backend/sql/gnc-customer-sql.cpp
-index 6d3d84a9c..7fbc5c83c 100644
---- a/libgnucash/backend/sql/gnc-customer-sql.cpp
-+++ b/libgnucash/backend/sql/gnc-customer-sql.cpp
-@@ -31,7 +31,6 @@ extern "C"
- {
- #include <config.h>
-
--#include <glib.h>
- #include <stdlib.h>
- #include <string.h>
-
-@@ -40,6 +39,8 @@ extern "C"
- #include "gncTaxTableP.h"
- }
-
-+#include <glib.h>
-+
- #include "gnc-sql-connection.hpp"
- #include "gnc-sql-backend.hpp"
- #include "gnc-sql-object-backend.hpp"
-diff --git a/libgnucash/backend/sql/gnc-employee-sql.cpp b/libgnucash/backend/sql/gnc-employee-sql.cpp
-index 20c7fb526..c5b17fdb7 100644
---- a/libgnucash/backend/sql/gnc-employee-sql.cpp
-+++ b/libgnucash/backend/sql/gnc-employee-sql.cpp
-@@ -31,13 +31,13 @@ extern "C"
- {
- #include <config.h>
-
--#include <glib.h>
- #include <stdlib.h>
- #include <string.h>
-
- #include "gnc-commodity.h"
- #include "gncEmployeeP.h"
- }
-+#include <glib.h>
-
- #include "gnc-sql-connection.hpp"
- #include "gnc-sql-backend.hpp"
-diff --git a/libgnucash/backend/sql/gnc-entry-sql.cpp b/libgnucash/backend/sql/gnc-entry-sql.cpp
-index 554a50e6c..f7b9ef4a3 100644
---- a/libgnucash/backend/sql/gnc-entry-sql.cpp
-+++ b/libgnucash/backend/sql/gnc-entry-sql.cpp
-@@ -31,7 +31,6 @@ extern "C"
- {
- #include <config.h>
-
--#include <glib.h>
- #include <stdlib.h>
- #include <string.h>
-
-@@ -40,6 +39,7 @@ extern "C"
- #include "gncInvoiceP.h"
- #include "gncTaxTableP.h"
- }
-+#include <glib.h>
-
- #include "gnc-sql-connection.hpp"
- #include "gnc-sql-backend.hpp"
-diff --git a/libgnucash/backend/sql/gnc-job-sql.cpp b/libgnucash/backend/sql/gnc-job-sql.cpp
-index c68827152..421992ffd 100644
---- a/libgnucash/backend/sql/gnc-job-sql.cpp
-+++ b/libgnucash/backend/sql/gnc-job-sql.cpp
-@@ -31,12 +31,12 @@ extern "C"
- {
- #include <config.h>
-
--#include <glib.h>
- #include <stdlib.h>
- #include <string.h>
-
- #include "gncJobP.h"
- }
-+#include <glib.h>
-
- #include "gnc-sql-connection.hpp"
- #include "gnc-sql-backend.hpp"
-diff --git a/libgnucash/backend/sql/gnc-price-sql.cpp b/libgnucash/backend/sql/gnc-price-sql.cpp
-index 1fcc5d5d9..95233b342 100644
---- a/libgnucash/backend/sql/gnc-price-sql.cpp
-+++ b/libgnucash/backend/sql/gnc-price-sql.cpp
-@@ -29,8 +29,6 @@ extern "C"
- {
- #include <config.h>
-
--#include <glib.h>
--
- #include "qof.h"
- #include "gnc-pricedb.h"
-
-@@ -38,6 +36,7 @@ extern "C"
- #include "splint-defs.h"
- #endif
- }
-+#include <glib.h>
-
- #include "gnc-sql-connection.hpp"
- #include "gnc-sql-backend.hpp"
-diff --git a/libgnucash/backend/sql/gnc-recurrence-sql.cpp b/libgnucash/backend/sql/gnc-recurrence-sql.cpp
-index 892b83d1a..3aa33e54a 100644
---- a/libgnucash/backend/sql/gnc-recurrence-sql.cpp
-+++ b/libgnucash/backend/sql/gnc-recurrence-sql.cpp
-@@ -29,8 +29,6 @@ extern "C"
- {
- #include <config.h>
-
--#include <glib.h>
--
- #include "qof.h"
- #include "gnc-engine.h"
- #include "Recurrence.h"
-@@ -39,6 +37,7 @@ extern "C"
- #include "splint-defs.h"
- #endif
- }
-+#include <glib.h>
-
- #include "gnc-sql-connection.hpp"
- #include "gnc-sql-backend.hpp"
-diff --git a/libgnucash/backend/sql/gnc-schedxaction-sql.cpp b/libgnucash/backend/sql/gnc-schedxaction-sql.cpp
-index c883a9208..c9147ec3a 100644
---- a/libgnucash/backend/sql/gnc-schedxaction-sql.cpp
-+++ b/libgnucash/backend/sql/gnc-schedxaction-sql.cpp
-@@ -29,8 +29,6 @@ extern "C"
- {
- #include <config.h>
-
--#include <glib.h>
--
- #include "qof.h"
- #include "SchedXaction.h"
- #include "SX-book.h"
-@@ -41,6 +39,8 @@ extern "C"
- #endif
- }
-
-+#include <glib.h>
-+
- #include "gnc-sql-connection.hpp"
- #include "gnc-sql-backend.hpp"
- #include "gnc-sql-object-backend.hpp"
-diff --git a/libgnucash/backend/sql/gnc-vendor-sql.cpp b/libgnucash/backend/sql/gnc-vendor-sql.cpp
-index 11b27686d..57dd78b4a 100644
---- a/libgnucash/backend/sql/gnc-vendor-sql.cpp
-+++ b/libgnucash/backend/sql/gnc-vendor-sql.cpp
-@@ -30,8 +30,6 @@
- extern "C"
- {
- #include <config.h>
--
--#include <glib.h>
- #include <stdlib.h>
- #include <string.h>
-
-@@ -41,6 +39,8 @@ extern "C"
- #include "gncTaxTableP.h"
- }
-
-+#include <glib.h>
-+
- #include "gnc-sql-connection.hpp"
- #include "gnc-sql-backend.hpp"
- #include "gnc-sql-object-backend.hpp"
-diff --git a/libgnucash/backend/sql/test/test-sqlbe.cpp b/libgnucash/backend/sql/test/test-sqlbe.cpp
-index 644711df4..0a6191c3f 100644
---- a/libgnucash/backend/sql/test/test-sqlbe.cpp
-+++ b/libgnucash/backend/sql/test/test-sqlbe.cpp
-@@ -20,10 +20,11 @@
- * Boston, MA 02110-1301, USA gnu@gnu.org *
- \********************************************************************/
-
-+#include <glib.h>
-+
- extern "C"
- {
- #include <config.h>
--#include <glib.h>
- #include "qof.h"
- }
- extern void test_suite_gnc_backend_sql ();
-diff --git a/libgnucash/backend/sql/test/utest-gnc-backend-sql.cpp b/libgnucash/backend/sql/test/utest-gnc-backend-sql.cpp
-index b89cde9a7..b7669f418 100644
---- a/libgnucash/backend/sql/test/utest-gnc-backend-sql.cpp
-+++ b/libgnucash/backend/sql/test/utest-gnc-backend-sql.cpp
-@@ -20,11 +20,12 @@
- * 51 Franklin Street, Fifth Floor Fax: +1-617-542-2652 *
- * Boston, MA 02110-1301, USA gnu@gnu.org *
- ********************************************************************/
-+#include <glib.h>
-+
- extern "C"
- {
- #include <config.h>
- #include <string.h>
--#include <glib.h>
- #include <unittest-support.h>
- }
- /* Add specific headers for this class */
-diff --git a/libgnucash/backend/xml/gnc-account-xml-v2.cpp b/libgnucash/backend/xml/gnc-account-xml-v2.cpp
-index 4feb75fae..3647c036c 100644
---- a/libgnucash/backend/xml/gnc-account-xml-v2.cpp
-+++ b/libgnucash/backend/xml/gnc-account-xml-v2.cpp
-@@ -25,14 +25,14 @@
- extern "C"
- {
- #include <config.h>
--
--#include <glib.h>
- #include <stdlib.h>
- #include <string.h>
- #include <AccountP.h>
- #include <Account.h>
- }
-
-+#include <glib.h>
-+
- #include "gnc-xml-helper.h"
- #include "sixtp.h"
- #include "sixtp-utils.h"
-diff --git a/libgnucash/backend/xml/gnc-address-xml-v2.cpp b/libgnucash/backend/xml/gnc-address-xml-v2.cpp
-index 026e3e430..c3484f674 100644
---- a/libgnucash/backend/xml/gnc-address-xml-v2.cpp
-+++ b/libgnucash/backend/xml/gnc-address-xml-v2.cpp
-@@ -24,11 +24,11 @@
- extern "C"
- {
- #include <config.h>
--
--#include <glib.h>
- #include <stdlib.h>
- #include <string.h>
- }
-+#include <glib.h>
-+
- #include "gnc-xml-helper.h"
-
- #include "sixtp.h"
-diff --git a/libgnucash/backend/xml/gnc-backend-xml.cpp b/libgnucash/backend/xml/gnc-backend-xml.cpp
-index 10a0d7cd8..2acdf71a0 100644
---- a/libgnucash/backend/xml/gnc-backend-xml.cpp
-+++ b/libgnucash/backend/xml/gnc-backend-xml.cpp
-@@ -32,9 +32,6 @@ extern "C"
- #include <config.h>
-
-
--#include <glib.h>
--#include <glib/gi18n.h>
--#include <glib/gstdio.h>
- #include <libintl.h>
- #include <locale.h>
- #include <fcntl.h>
-@@ -76,6 +73,10 @@ extern "C"
- #endif
- }
-
-+#include <glib.h>
-+#include <glib/gi18n.h>
-+#include <glib/gstdio.h>
-+
- #include <gnc-backend-prov.hpp>
- #include "gnc-backend-xml.h"
- #include <qof-backend.hpp>
-diff --git a/libgnucash/backend/xml/gnc-bill-term-xml-v2.cpp b/libgnucash/backend/xml/gnc-bill-term-xml-v2.cpp
-index c61f042b9..06c6799f2 100644
---- a/libgnucash/backend/xml/gnc-bill-term-xml-v2.cpp
-+++ b/libgnucash/backend/xml/gnc-bill-term-xml-v2.cpp
-@@ -24,8 +24,6 @@
- extern "C"
- {
- #include <config.h>
--
--#include <glib.h>
- #include <stdlib.h>
- #include <string.h>
-
-diff --git a/libgnucash/backend/xml/gnc-book-xml-v2.cpp b/libgnucash/backend/xml/gnc-book-xml-v2.cpp
-index e049eb787..2270b9527 100644
---- a/libgnucash/backend/xml/gnc-book-xml-v2.cpp
-+++ b/libgnucash/backend/xml/gnc-book-xml-v2.cpp
-@@ -25,13 +25,13 @@
- extern "C"
- {
- #include <config.h>
--
--#include <glib.h>
- #include <stdlib.h>
- #include <string.h>
- #include "qof.h"
- }
-
-+#include <glib.h>
-+
- #include "gnc-xml-helper.h"
-
- #include "sixtp.h"
-diff --git a/libgnucash/backend/xml/gnc-budget-xml-v2.cpp b/libgnucash/backend/xml/gnc-budget-xml-v2.cpp
-index b30d203f4..c39c6a0c7 100644
---- a/libgnucash/backend/xml/gnc-budget-xml-v2.cpp
-+++ b/libgnucash/backend/xml/gnc-budget-xml-v2.cpp
-@@ -24,12 +24,12 @@
- extern "C"
- {
- #include <config.h>
--
--#include <glib.h>
- #include <stdlib.h>
- #include <string.h>
- }
-
-+#include <glib.h>
-+
- #include "gnc-xml-helper.h"
- #include "sixtp.h"
- #include "sixtp-utils.h"
-diff --git a/libgnucash/backend/xml/gnc-commodity-xml-v2.cpp b/libgnucash/backend/xml/gnc-commodity-xml-v2.cpp
-index e09950db2..dd04f2100 100644
---- a/libgnucash/backend/xml/gnc-commodity-xml-v2.cpp
-+++ b/libgnucash/backend/xml/gnc-commodity-xml-v2.cpp
-@@ -24,13 +24,13 @@
- extern "C"
- {
- #include <config.h>
--
--#include <glib.h>
- #include <string.h>
- #include "AccountP.h"
- #include "Account.h"
- }
-
-+#include <glib.h>
-+
- #include "gnc-xml-helper.h"
- #include "sixtp.h"
- #include "sixtp-utils.h"
-diff --git a/libgnucash/backend/xml/gnc-customer-xml-v2.cpp b/libgnucash/backend/xml/gnc-customer-xml-v2.cpp
-index dcaa9bff3..4396b7c15 100644
---- a/libgnucash/backend/xml/gnc-customer-xml-v2.cpp
-+++ b/libgnucash/backend/xml/gnc-customer-xml-v2.cpp
-@@ -24,8 +24,6 @@
- extern "C"
- {
- #include <config.h>
--
--#include <glib.h>
- #include <stdlib.h>
- #include <string.h>
-
-@@ -34,6 +32,8 @@ extern "C"
- #include "gncTaxTableP.h"
- }
-
-+#include <glib.h>
-+
- #include "gnc-xml-helper.h"
- #include "gnc-customer-xml-v2.h"
- #include "gnc-address-xml-v2.h"
-diff --git a/libgnucash/backend/xml/gnc-employee-xml-v2.cpp b/libgnucash/backend/xml/gnc-employee-xml-v2.cpp
-index 5eec282a8..eaae536a2 100644
---- a/libgnucash/backend/xml/gnc-employee-xml-v2.cpp
-+++ b/libgnucash/backend/xml/gnc-employee-xml-v2.cpp
-@@ -24,12 +24,11 @@
- extern "C"
- {
- #include <config.h>
--
--#include <glib.h>
- #include <stdlib.h>
- #include <string.h>
- #include "gncEmployeeP.h"
- }
-+#include <glib.h>
-
- #include "gnc-xml-helper.h"
- #include "sixtp.h"
-diff --git a/libgnucash/backend/xml/gnc-entry-xml-v2.cpp b/libgnucash/backend/xml/gnc-entry-xml-v2.cpp
-index 25b88d935..df87a1f42 100644
---- a/libgnucash/backend/xml/gnc-entry-xml-v2.cpp
-+++ b/libgnucash/backend/xml/gnc-entry-xml-v2.cpp
-@@ -24,8 +24,6 @@
- extern "C"
- {
- #include <config.h>
--
--#include <glib.h>
- #include <stdlib.h>
- #include <string.h>
-
-@@ -35,6 +33,8 @@ extern "C"
- #include "gncTaxTableP.h"
- }
-
-+#include <glib.h>
-+
- #include "gnc-xml-helper.h"
- #include "sixtp.h"
- #include "sixtp-utils.h"
-diff --git a/libgnucash/backend/xml/gnc-freqspec-xml-v2.cpp b/libgnucash/backend/xml/gnc-freqspec-xml-v2.cpp
-index fe875f7ef..ec3edac8b 100644
---- a/libgnucash/backend/xml/gnc-freqspec-xml-v2.cpp
-+++ b/libgnucash/backend/xml/gnc-freqspec-xml-v2.cpp
-@@ -25,13 +25,12 @@
- extern "C"
- {
- #include <config.h>
--
--#include <glib.h>
- #include <string.h>
- #include "qof.h"
- #include "SchedXaction.h"
- #include "FreqSpec.h"
- }
-+#include <glib.h>
-
- #include "gnc-xml-helper.h"
- #include "sixtp.h"
-diff --git a/libgnucash/backend/xml/gnc-invoice-xml-v2.cpp b/libgnucash/backend/xml/gnc-invoice-xml-v2.cpp
-index 333fbe5d4..3231198bc 100644
---- a/libgnucash/backend/xml/gnc-invoice-xml-v2.cpp
-+++ b/libgnucash/backend/xml/gnc-invoice-xml-v2.cpp
-@@ -24,14 +24,13 @@
- extern "C"
- {
- #include <config.h>
--
--#include <glib.h>
- #include <stdlib.h>
- #include <string.h>
-
- #include "gncBillTermP.h"
- #include "gncInvoiceP.h"
- }
-+#include <glib.h>
-
- #include "gnc-xml-helper.h"
- #include "sixtp.h"
-diff --git a/libgnucash/backend/xml/gnc-job-xml-v2.cpp b/libgnucash/backend/xml/gnc-job-xml-v2.cpp
-index ba1ab367f..1132a996d 100644
---- a/libgnucash/backend/xml/gnc-job-xml-v2.cpp
-+++ b/libgnucash/backend/xml/gnc-job-xml-v2.cpp
-@@ -24,12 +24,11 @@
- extern "C"
- {
- #include <config.h>
--
--#include <glib.h>
- #include <stdlib.h>
- #include <string.h>
- #include "gncJobP.h"
- }
-+#include <glib.h>
-
- #include "gnc-xml-helper.h"
- #include "sixtp.h"
-diff --git a/libgnucash/backend/xml/gnc-lot-xml-v2.cpp b/libgnucash/backend/xml/gnc-lot-xml-v2.cpp
-index 8bccae722..d42a5b4b7 100644
---- a/libgnucash/backend/xml/gnc-lot-xml-v2.cpp
-+++ b/libgnucash/backend/xml/gnc-lot-xml-v2.cpp
-@@ -25,13 +25,12 @@
- extern "C"
- {
- #include <config.h>
--
--#include <glib.h>
- #include <stdlib.h>
- #include <string.h>
- #include "gnc-lot.h"
- #include "gnc-lot-p.h"
- }
-+#include <glib.h>
-
- #include "gnc-xml-helper.h"
- #include "sixtp.h"
-diff --git a/libgnucash/backend/xml/gnc-order-xml-v2.cpp b/libgnucash/backend/xml/gnc-order-xml-v2.cpp
-index 0b45ff9f0..3b95d6ce0 100644
---- a/libgnucash/backend/xml/gnc-order-xml-v2.cpp
-+++ b/libgnucash/backend/xml/gnc-order-xml-v2.cpp
-@@ -24,12 +24,11 @@
- extern "C"
- {
- #include <config.h>
--
--#include <glib.h>
- #include <stdlib.h>
- #include <string.h>
- #include "gncOrderP.h"
- }
-+#include <glib.h>
-
- #include "gnc-xml-helper.h"
- #include "sixtp.h"
-diff --git a/libgnucash/backend/xml/gnc-owner-xml-v2.cpp b/libgnucash/backend/xml/gnc-owner-xml-v2.cpp
-index c9fc9ba98..42931c3e7 100644
---- a/libgnucash/backend/xml/gnc-owner-xml-v2.cpp
-+++ b/libgnucash/backend/xml/gnc-owner-xml-v2.cpp
-@@ -24,8 +24,6 @@
- extern "C"
- {
- #include <config.h>
--
--#include <glib.h>
- #include <stdlib.h>
- #include <string.h>
- #include "gncCustomerP.h"
-@@ -33,6 +31,7 @@ extern "C"
- #include "gncVendorP.h"
- #include "gncEmployeeP.h"
- }
-+#include <glib.h>
-
- #include "gnc-xml-helper.h"
- #include "sixtp.h"
-diff --git a/libgnucash/backend/xml/gnc-recurrence-xml-v2.cpp b/libgnucash/backend/xml/gnc-recurrence-xml-v2.cpp
-index e2dd884d7..b67e24b07 100644
---- a/libgnucash/backend/xml/gnc-recurrence-xml-v2.cpp
-+++ b/libgnucash/backend/xml/gnc-recurrence-xml-v2.cpp
-@@ -24,12 +24,11 @@
- extern "C"
- {
- #include <config.h>
--
--#include <glib.h>
- #include <string.h>
- #include "qof.h"
- #include "Recurrence.h"
- }
-+#include <glib.h>
-
- #include "gnc-xml.h"
- #include "gnc-xml-helper.h"
-diff --git a/libgnucash/backend/xml/gnc-schedxaction-xml-v2.cpp b/libgnucash/backend/xml/gnc-schedxaction-xml-v2.cpp
-index cb104e1a0..195f5a738 100644
---- a/libgnucash/backend/xml/gnc-schedxaction-xml-v2.cpp
-+++ b/libgnucash/backend/xml/gnc-schedxaction-xml-v2.cpp
-@@ -23,12 +23,11 @@
- extern "C"
- {
- #include <config.h>
--
--#include <glib.h>
- #include <string.h>
-
- #include "SX-book.h"
- }
-+#include <glib.h>
-
- #include "gnc-xml-helper.h"
- #include "sixtp.h"
-diff --git a/libgnucash/backend/xml/gnc-tax-table-xml-v2.cpp b/libgnucash/backend/xml/gnc-tax-table-xml-v2.cpp
-index b9206a626..b8e602fa4 100644
---- a/libgnucash/backend/xml/gnc-tax-table-xml-v2.cpp
-+++ b/libgnucash/backend/xml/gnc-tax-table-xml-v2.cpp
-@@ -24,13 +24,12 @@
- extern "C"
- {
- #include <config.h>
--
--#include <glib.h>
- #include <stdlib.h>
- #include <string.h>
- #include "gncEntry.h"
- #include "gncTaxTableP.h"
- }
-+#include <glib.h>
-
- #include "gnc-xml-helper.h"
- #include "sixtp.h"
-diff --git a/libgnucash/backend/xml/gnc-transaction-xml-v2.cpp b/libgnucash/backend/xml/gnc-transaction-xml-v2.cpp
-index b4aad7309..560c0d0c6 100644
---- a/libgnucash/backend/xml/gnc-transaction-xml-v2.cpp
-+++ b/libgnucash/backend/xml/gnc-transaction-xml-v2.cpp
-@@ -24,8 +24,6 @@
- extern "C"
- {
- #include <config.h>
--
--#include <glib.h>
- #include <string.h>
- #include "AccountP.h"
- #include "Transaction.h"
-@@ -33,6 +31,7 @@ extern "C"
- #include "gnc-lot.h"
- #include "gnc-lot-p.h"
- }
-+#include <glib.h>
- #include "gnc-xml-helper.h"
-
- #include "sixtp.h"
-diff --git a/libgnucash/backend/xml/gnc-vendor-xml-v2.cpp b/libgnucash/backend/xml/gnc-vendor-xml-v2.cpp
-index 983e4f258..e88fe7932 100644
---- a/libgnucash/backend/xml/gnc-vendor-xml-v2.cpp
-+++ b/libgnucash/backend/xml/gnc-vendor-xml-v2.cpp
-@@ -24,8 +24,6 @@
- extern "C"
- {
- #include <config.h>
--
--#include <glib.h>
- #include <stdlib.h>
- #include <string.h>
- #include "gncBillTermP.h"
-@@ -33,6 +31,7 @@ extern "C"
- #include "gncTaxTableP.h"
- }
-
-+#include <glib.h>
- #include "gnc-xml-helper.h"
- #include "sixtp.h"
- #include "sixtp-utils.h"
-diff --git a/libgnucash/backend/xml/gnc-xml-backend.cpp b/libgnucash/backend/xml/gnc-xml-backend.cpp
-index dc3bbb19b..73c2cda4c 100644
---- a/libgnucash/backend/xml/gnc-xml-backend.cpp
-+++ b/libgnucash/backend/xml/gnc-xml-backend.cpp
-@@ -27,8 +27,6 @@ extern "C"
- #include <unistd.h>
- #include <fcntl.h>
- #include <sys/stat.h>
--#include <glib.h>
--#include <glib/gstdio.h>
- #include <regex.h>
-
- #include <gnc-engine.h> //for GNC_MOD_BACKEND
-@@ -38,6 +36,8 @@ extern "C"
-
- }
-
-+#include <glib.h>
-+#include <glib/gstdio.h>
- #include <sstream>
-
- #include "gnc-xml-backend.hpp"
-diff --git a/libgnucash/backend/xml/gnc-xml-helper.cpp b/libgnucash/backend/xml/gnc-xml-helper.cpp
-index 61df6c2e4..2e4dd8153 100644
---- a/libgnucash/backend/xml/gnc-xml-helper.cpp
-+++ b/libgnucash/backend/xml/gnc-xml-helper.cpp
-@@ -21,10 +21,7 @@
- * Boston, MA 02110-1301, USA gnu@gnu.org *
- * *
- \********************************************************************/
--extern "C"
--{
- #include <glib.h>
--}
-
- #include "gnc-xml-helper.h"
-
-diff --git a/libgnucash/backend/xml/gnc-xml-helper.h b/libgnucash/backend/xml/gnc-xml-helper.h
-index 601f89bcd..6c0f91d8d 100644
---- a/libgnucash/backend/xml/gnc-xml-helper.h
-+++ b/libgnucash/backend/xml/gnc-xml-helper.h
-@@ -24,6 +24,9 @@
-
- #ifndef GNC_XML_HELPER_H
- #define GNC_XML_HELPER_H
-+
-+#include <glib.h>
-+
- extern "C"
- {
- #include <libxml/xmlversion.h>
-diff --git a/libgnucash/backend/xml/io-example-account.cpp b/libgnucash/backend/xml/io-example-account.cpp
-index 918217ee4..a9b4be190 100644
---- a/libgnucash/backend/xml/io-example-account.cpp
-+++ b/libgnucash/backend/xml/io-example-account.cpp
-@@ -41,9 +41,6 @@ extern "C"
- # include <unistd.h>
- #endif
-
--#include <glib.h>
--#include <glib/gi18n.h>
--#include <glib/gstdio.h>
- #include "gnc-engine.h"
- #include "Scrub.h"
- #include "TransLog.h"
-@@ -53,6 +50,9 @@ extern "C"
- #endif
- }
-
-+#include <glib.h>
-+#include <glib/gi18n.h>
-+#include <glib/gstdio.h>
- #include "sixtp.h"
-
- #include "gnc-xml.h"
-diff --git a/libgnucash/backend/xml/io-gncxml-gen.h b/libgnucash/backend/xml/io-gncxml-gen.h
-index 5ad7b8eeb..dc1e7f660 100644
---- a/libgnucash/backend/xml/io-gncxml-gen.h
-+++ b/libgnucash/backend/xml/io-gncxml-gen.h
-@@ -24,10 +24,8 @@
-
- #ifndef IO_GNCXML_GEN_H
- #define IO_GNCXML_GEN_H
--extern "C"
--{
-+
- #include <glib.h>
--}
-
- #include "sixtp.h"
-
-diff --git a/libgnucash/backend/xml/io-gncxml-v2.cpp b/libgnucash/backend/xml/io-gncxml-v2.cpp
-index 7f7fc900f..1b6e22532 100644
---- a/libgnucash/backend/xml/io-gncxml-v2.cpp
-+++ b/libgnucash/backend/xml/io-gncxml-v2.cpp
-@@ -36,8 +36,6 @@ extern "C"
- #endif
- #include <windows.h>
- #endif
--#include <glib.h>
--#include <glib/gstdio.h>
- #include <fcntl.h>
- #include <string.h>
- #ifdef HAVE_UNISTD_H
-@@ -66,6 +64,9 @@ extern "C"
- #endif
- }
-
-+#include <glib.h>
-+#include <glib/gstdio.h>
-+
- #include "gnc-xml-backend.hpp"
- #include "sixtp-parsers.h"
- #include "sixtp-utils.h"
-diff --git a/libgnucash/backend/xml/io-utils.cpp b/libgnucash/backend/xml/io-utils.cpp
-index 8d9cbfe44..ca2f7e203 100644
---- a/libgnucash/backend/xml/io-utils.cpp
-+++ b/libgnucash/backend/xml/io-utils.cpp
-@@ -26,9 +26,9 @@ extern "C"
- #include <config.h>
-
- #include <stdio.h>
-+}
-
- #include <glib.h>
--}
-
- #include "gnc-xml.h"
- #include "io-utils.h"
-diff --git a/libgnucash/backend/xml/sixtp-dom-generators.cpp b/libgnucash/backend/xml/sixtp-dom-generators.cpp
-index d8a58eda0..0b9a914a2 100644
---- a/libgnucash/backend/xml/sixtp-dom-generators.cpp
-+++ b/libgnucash/backend/xml/sixtp-dom-generators.cpp
-@@ -25,10 +25,10 @@ extern "C"
- #define __EXTENSIONS__
-
- #include <config.h>
--#include <glib.h>
-
- #include <gnc-date.h>
- }
-+#include <glib.h>
-
- #include "gnc-xml-helper.h"
- #include "sixtp-dom-generators.h"
-diff --git a/libgnucash/backend/xml/sixtp-dom-parsers.cpp b/libgnucash/backend/xml/sixtp-dom-parsers.cpp
-index 776290396..9b05f4883 100644
---- a/libgnucash/backend/xml/sixtp-dom-parsers.cpp
-+++ b/libgnucash/backend/xml/sixtp-dom-parsers.cpp
-@@ -24,13 +24,13 @@ extern "C"
- {
- #include <config.h>
-
--#include <glib.h>
- #include <string.h>
-
--#include "gnc-xml-helper.h"
- #include <gnc-engine.h>
- }
-
-+#include <glib.h>
-+#include "gnc-xml-helper.h"
- #include "sixtp-utils.h"
- #include "sixtp-dom-parsers.h"
- #include <kvp-frame.hpp>
-diff --git a/libgnucash/backend/xml/sixtp-to-dom-parser.cpp b/libgnucash/backend/xml/sixtp-to-dom-parser.cpp
-index 9aba0801a..277a6f867 100644
---- a/libgnucash/backend/xml/sixtp-to-dom-parser.cpp
-+++ b/libgnucash/backend/xml/sixtp-to-dom-parser.cpp
-@@ -23,12 +23,11 @@
- extern "C"
- {
- #include <config.h>
--
--#include <glib.h>
--
- #include <ctype.h>
- }
-
-+#include <glib.h>
-+
- #include "sixtp-parsers.h"
- #include "sixtp-utils.h"
- #include "sixtp.h"
-diff --git a/libgnucash/backend/xml/sixtp.cpp b/libgnucash/backend/xml/sixtp.cpp
-index 95f499514..d231efa40 100644
---- a/libgnucash/backend/xml/sixtp.cpp
-+++ b/libgnucash/backend/xml/sixtp.cpp
-@@ -23,9 +23,6 @@
- extern "C"
- {
- #include <config.h>
--
--#include <glib.h>
--#include <glib/gstdio.h>
- #include <string.h>
- #include <ctype.h>
- #include <stdarg.h>
-@@ -37,6 +34,9 @@ extern "C"
- #endif
- }
-
-+#include <glib.h>
-+#include <glib/gstdio.h>
-+
- #include "sixtp.h"
- #include "sixtp-parsers.h"
- #include "sixtp-stack.h"
-diff --git a/libgnucash/backend/xml/sixtp.h b/libgnucash/backend/xml/sixtp.h
-index 5aa799235..585a42ac1 100644
---- a/libgnucash/backend/xml/sixtp.h
-+++ b/libgnucash/backend/xml/sixtp.h
-@@ -25,12 +25,12 @@
- #define SIXTP_H
- extern "C"
- {
--#include <glib.h>
- #include <stdio.h>
-
- #include <stdarg.h>
- #include "gnc-engine.h"
- }
-+#include <glib.h>
- #include "gnc-xml-helper.h"
- #include "gnc-backend-xml.h"
-
-diff --git a/libgnucash/backend/xml/test/test-dom-converters1.cpp b/libgnucash/backend/xml/test/test-dom-converters1.cpp
-index fe6336841..02c31dfe6 100644
---- a/libgnucash/backend/xml/test/test-dom-converters1.cpp
-+++ b/libgnucash/backend/xml/test/test-dom-converters1.cpp
-@@ -21,21 +21,22 @@
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- */
-+#include <glib.h>
-+
- extern "C"
- {
- #include <config.h>
-
--#include <stdlib.h>
- #include <string.h>
-
--#include <glib.h>
--
- #include "test-engine-stuff.h"
- #include "cashobjects.h"
- #include "gnc-engine.h"
- #include "gnc-commodity.h"
- }
-
-+#include <cstdlib>
-+
- #include "test-file-stuff.h"
- #include "gnc-xml-helper.h"
- #include "sixtp.h"
-diff --git a/libgnucash/backend/xml/test/test-dom-parser1.cpp b/libgnucash/backend/xml/test/test-dom-parser1.cpp
-index 59933a4c5..28de9542c 100644
---- a/libgnucash/backend/xml/test/test-dom-parser1.cpp
-+++ b/libgnucash/backend/xml/test/test-dom-parser1.cpp
-@@ -17,18 +17,19 @@
- * Boston, MA 02110-1301, USA gnu@gnu.org *
- * *
- \********************************************************************/
-+#include <glib.h>
-+
- extern "C"
- {
- #include <config.h>
-
--#include <stdlib.h>
- #include <string.h>
-
--#include <glib.h>
--
- #include "test-stuff.h"
- }
-
-+#include <cstdlib>
-+
- #include "gnc-xml-helper.h"
- #include "sixtp.h"
- #include "sixtp-parsers.h"
-diff --git a/libgnucash/backend/xml/test/test-file-stuff.cpp b/libgnucash/backend/xml/test/test-file-stuff.cpp
-index 1ba6e974e..0264c8122 100644
---- a/libgnucash/backend/xml/test/test-file-stuff.cpp
-+++ b/libgnucash/backend/xml/test/test-file-stuff.cpp
-@@ -21,6 +21,8 @@
- * 02110-1301, USA.
- */
- #include <kvp-frame.hpp>
-+#include <glib.h>
-+#include <glib/gstdio.h>
-
- extern "C"
- {
-@@ -31,15 +33,14 @@ extern "C"
- #include <sys/stat.h>
- #include <dirent.h>
- #include <fcntl.h>
--#include <stdlib.h>
- #include <string.h>
--#include <glib.h>
--#include <glib/gstdio.h>
-
- #include "gnc-engine.h"
- #include "test-stuff.h"
- }
-
-+#include <cstdlib>
-+
- #include "test-file-stuff.h"
- #include "sixtp-dom-parsers.h"
- #include "sixtp-parsers.h"
-diff --git a/libgnucash/backend/xml/test/test-file-stuff.h b/libgnucash/backend/xml/test/test-file-stuff.h
-index fd9e00ea3..158d8cddf 100644
---- a/libgnucash/backend/xml/test/test-file-stuff.h
-+++ b/libgnucash/backend/xml/test/test-file-stuff.h
-@@ -24,10 +24,10 @@
-
- #ifndef TEST_FILE_STUFF_H
- #define TEST_FILE_STUFF_H
--extern "C"
--{
- #include <glib.h>
-
-+extern "C"
-+{
- #include <gnc-commodity.h>
- #include <gnc-engine.h>
- }
-diff --git a/libgnucash/backend/xml/test/test-load-example-account.cpp b/libgnucash/backend/xml/test/test-load-example-account.cpp
-index af0c43777..3596a7cad 100644
---- a/libgnucash/backend/xml/test/test-load-example-account.cpp
-+++ b/libgnucash/backend/xml/test/test-load-example-account.cpp
-@@ -20,12 +20,12 @@
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- */
-+#include <glib.h>
-+
- extern "C"
- {
- #include <config.h>
--#include <glib.h>
- #include <string.h>
--#include <stdlib.h>
- #include <stdio.h>
- #include <sys/types.h>
- #include <sys/stat.h>
-@@ -36,6 +36,8 @@ extern "C"
- #include "test-engine-stuff.h"
- }
-
-+#include <cstdlib>
-+
- #include "test-file-stuff.h"
- #include "io-gncxml-v2.h"
-
-diff --git a/libgnucash/backend/xml/test/test-load-xml2.cpp b/libgnucash/backend/xml/test/test-load-xml2.cpp
-index f1e3cfdff..945470078 100644
---- a/libgnucash/backend/xml/test/test-load-xml2.cpp
-+++ b/libgnucash/backend/xml/test/test-load-xml2.cpp
-@@ -25,6 +25,10 @@
- /* @file test-load-xml2.c
- * @brief test the loading of a version-2 gnucash XML file
- */
-+#include <glib.h>
-+#include <glib-object.h>
-+#include <glib/gstdio.h>
-+
- extern "C"
- {
- #include <config.h>
-@@ -36,9 +40,6 @@ extern "C"
- #include <unistd.h>
- #include <dirent.h>
- #include <string.h>
--#include <glib.h>
--#include <glib-object.h>
--#include <glib/gstdio.h>
-
- #include <cashobjects.h>
- #include <TransLog.h>
-diff --git a/libgnucash/backend/xml/test/test-save-in-lang.cpp b/libgnucash/backend/xml/test/test-save-in-lang.cpp
-index 8501a7c88..78cc644b6 100644
---- a/libgnucash/backend/xml/test/test-save-in-lang.cpp
-+++ b/libgnucash/backend/xml/test/test-save-in-lang.cpp
-@@ -17,17 +17,17 @@
- * Boston, MA 02110-1301, USA gnu@gnu.org *
- * *
- \********************************************************************/
-+#include <glib.h>
-+#include <glib/gstdio.h>
-+
- extern "C"
- {
- #include <config.h>
--#include <glib.h>
--#include <glib/gstdio.h>
- #include <unistd.h>
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <dirent.h>
- #include <errno.h>
--#include <stdlib.h>
- #include <string.h>
-
- #include "test-engine-stuff.h"
-@@ -36,6 +36,8 @@ extern "C"
- #include "TransLog.h"
- }
-
-+#include <cstdlib>
-+
- #include "test-file-stuff.h"
- #include "io-gncxml-v2.h"
- #include "test-stuff.h"
-diff --git a/libgnucash/backend/xml/test/test-xml-account.cpp b/libgnucash/backend/xml/test/test-xml-account.cpp
-index d336ec237..ee90e5901 100644
---- a/libgnucash/backend/xml/test/test-xml-account.cpp
-+++ b/libgnucash/backend/xml/test/test-xml-account.cpp
-@@ -21,13 +21,13 @@
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- */
-+#include <glib.h>
-+#include <glib/gstdio.h>
-+
- extern "C"
- {
- #include <config.h>
-
--#include <glib.h>
--#include <glib/gstdio.h>
--#include <stdlib.h>
- #include <unistd.h>
- #include <gnc-engine.h>
- #include <cashobjects.h>
-@@ -39,6 +39,8 @@ extern "C"
- #include "Scrub.h"
- }
-
-+#include <cstdlib>
-+
- #include "../gnc-xml-helper.h"
- #include "../gnc-xml.h"
- #include "../sixtp-parsers.h"
-diff --git a/libgnucash/backend/xml/test/test-xml-commodity.cpp b/libgnucash/backend/xml/test/test-xml-commodity.cpp
-index 6ff7e7656..5deeeed9d 100644
---- a/libgnucash/backend/xml/test/test-xml-commodity.cpp
-+++ b/libgnucash/backend/xml/test/test-xml-commodity.cpp
-@@ -17,13 +17,13 @@
- * Boston, MA 02110-1301, USA gnu@gnu.org *
- * *
- \********************************************************************/
-+#include <glib.h>
-+#include <glib/gstdio.h>
-+
- extern "C"
- {
- #include <config.h>
-
--#include <glib.h>
--#include <glib/gstdio.h>
--#include <stdlib.h>
- #include <unistd.h>
-
- #include "qof.h"
-@@ -32,6 +32,8 @@ extern "C"
- #include "Account.h"
- }
-
-+#include <cstdlib>
-+
- #include "gnc-xml-helper.h"
- #include "gnc-xml.h"
- #include "sixtp-parsers.h"
-diff --git a/libgnucash/backend/xml/test/test-xml-pricedb.cpp b/libgnucash/backend/xml/test/test-xml-pricedb.cpp
-index 4660084f7..7bf5afe92 100644
---- a/libgnucash/backend/xml/test/test-xml-pricedb.cpp
-+++ b/libgnucash/backend/xml/test/test-xml-pricedb.cpp
-@@ -21,12 +21,13 @@
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- */
-+#include <glib.h>
-+#include <glib/gstdio.h>
-+
- extern "C"
- {
- #include <config.h>
-
--#include <glib.h>
--#include <glib/gstdio.h>
- #include <stdlib.h>
- #include <unistd.h>
-
-diff --git a/libgnucash/backend/xml/test/test-xml-transaction.cpp b/libgnucash/backend/xml/test/test-xml-transaction.cpp
-index 238920682..54a22262a 100644
---- a/libgnucash/backend/xml/test/test-xml-transaction.cpp
-+++ b/libgnucash/backend/xml/test/test-xml-transaction.cpp
-@@ -21,12 +21,13 @@
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- */
-+#include <glib.h>
-+#include <glib/gstdio.h>
-+
- extern "C"
- {
- #include <config.h>
-
--#include <glib.h>
--#include <glib/gstdio.h>
- #include <stdlib.h>
- #include <unistd.h>
-
-diff --git a/libgnucash/backend/xml/test/test-xml2-is-file.cpp b/libgnucash/backend/xml/test/test-xml2-is-file.cpp
-index 8b698f45e..82ff4526d 100644
---- a/libgnucash/backend/xml/test/test-xml2-is-file.cpp
-+++ b/libgnucash/backend/xml/test/test-xml2-is-file.cpp
-@@ -22,10 +22,9 @@ extern "C"
- #include <config.h>
- #include <stdlib.h>
- #include <string.h>
--
--#include "test-engine-stuff.h"
- }
-
-+#include "test-engine-stuff.h"
- #include "io-gncxml-v2.h"
- #include "test-file-stuff.h"
- #include "test-stuff.h"
-diff --git a/libgnucash/core-utils/gnc-filepath-utils.cpp b/libgnucash/core-utils/gnc-filepath-utils.cpp
-index da1bf5189..a6446ba72 100644
---- a/libgnucash/core-utils/gnc-filepath-utils.cpp
-+++ b/libgnucash/core-utils/gnc-filepath-utils.cpp
-@@ -26,6 +26,11 @@
- * @author Copyright (c) 2000 Dave Peticolas
- */
-
-+#include <glib.h>
-+#include <glib/gi18n.h>
-+#include <glib/gprintf.h>
-+#include <glib/gstdio.h>
-+
- extern "C" {
- #include <config.h>
-
-@@ -35,10 +40,6 @@ extern "C" {
- #include <Shlobj.h>
- #endif
-
--#include <glib.h>
--#include <glib/gi18n.h>
--#include <glib/gprintf.h>
--#include <glib/gstdio.h>
-
- #include <stdlib.h>
- #include <stdio.h>
-diff --git a/libgnucash/core-utils/gnc-locale-utils.cpp b/libgnucash/core-utils/gnc-locale-utils.cpp
-index 10574c210..c73a02dd5 100644
---- a/libgnucash/core-utils/gnc-locale-utils.cpp
-+++ b/libgnucash/core-utils/gnc-locale-utils.cpp
-@@ -19,10 +19,7 @@
- * 51 Franklin Street, Fifth Floor Fax: +1-617-542-2652 *
- * Boston, MA 02110-1301, USA gnu@gnu.org *
- \********************************************************************/
--extern "C"
--{
- #include <glib.h>
--}
- #include <clocale>
- #include <boost/locale.hpp>
- #include "gnc-locale-utils.hpp"
-diff --git a/libgnucash/core-utils/gnc-prefs.h b/libgnucash/core-utils/gnc-prefs.h
-index b18d1e079..7d7a104d0 100644
---- a/libgnucash/core-utils/gnc-prefs.h
-+++ b/libgnucash/core-utils/gnc-prefs.h
-@@ -45,7 +45,11 @@
- #ifndef GNC_PREFS_H
- #define GNC_PREFS_H
-
-+#ifdef __cplusplus
-+extern "C++" {
- #include <glib.h>
-+}
-+#endif
-
- /* Preference groups used across multiple modules */
- #define GNC_PREFS_GROUP_GENERAL "general"
-diff --git a/libgnucash/core-utils/test/gtest-path-utilities.cpp b/libgnucash/core-utils/test/gtest-path-utilities.cpp
-index 94e83566f..d7210007b 100644
---- a/libgnucash/core-utils/test/gtest-path-utilities.cpp
-+++ b/libgnucash/core-utils/test/gtest-path-utilities.cpp
-@@ -1,7 +1,8 @@
-+#include <glib.h>
-+
- extern "C"
- {
- #include <config.h>
--#include <glib.h>
- #include <gncla-dir.h>
- #include <gnc-path.h>
- #include <binreloc.h>
-diff --git a/libgnucash/engine/SX-book.h b/libgnucash/engine/SX-book.h
-index 0b674ebd3..111aaceaf 100644
---- a/libgnucash/engine/SX-book.h
-+++ b/libgnucash/engine/SX-book.h
-@@ -42,7 +42,11 @@
- typedef struct xaccSchedXactionsDef SchedXactions;
- typedef struct _SchedXactionsClass SchedXactionsClass;
-
-+#ifdef __cplusplus
-+extern "C++" {
- #include <glib.h>
-+}
-+#endif
- #include "SchedXaction.h"
- #include "qof.h"
-
-diff --git a/libgnucash/engine/engine-helpers.h b/libgnucash/engine/engine-helpers.h
-index 4b3abe6ee..517d4e148 100644
---- a/libgnucash/engine/engine-helpers.h
-+++ b/libgnucash/engine/engine-helpers.h
-@@ -25,7 +25,11 @@
- #ifndef ENGINE_HELPERS_H
- #define ENGINE_HELPERS_H
-
-+#ifdef __cplusplus
-+extern "C++" {
- #include <glib.h>
-+}
-+#endif
-
- #include "gnc-engine.h"
- #include "Account.h"
-diff --git a/libgnucash/engine/gnc-commodity.h b/libgnucash/engine/gnc-commodity.h
-index 1f20a7189..afb18fee3 100644
---- a/libgnucash/engine/gnc-commodity.h
-+++ b/libgnucash/engine/gnc-commodity.h
-@@ -49,8 +49,13 @@
- typedef struct _GncCommodityClass gnc_commodityClass;
- typedef struct _GncCommodityNamespaceClass gnc_commodity_namespaceClass;
-
-+#ifdef __cplusplus
-+extern "C++" {
- #include <glib.h>
- #include <glib/gi18n.h>
-+}
-+#endif
-+
- #include "gnc-engine.h"
-
- #ifdef __cplusplus
-diff --git a/libgnucash/engine/gnc-date.cpp b/libgnucash/engine/gnc-date.cpp
-index 5cdf3a655..2f48aa91f 100644
---- a/libgnucash/engine/gnc-date.cpp
-+++ b/libgnucash/engine/gnc-date.cpp
-@@ -26,11 +26,11 @@
- \********************************************************************/
-
- #define __EXTENSIONS__
-+#include <glib.h>
- extern "C"
- {
-
- #include <config.h>
--#include <glib.h>
- #include <libintl.h>
- #include <stdlib.h>
- #include "platform.h"
-diff --git a/libgnucash/engine/gnc-date.h b/libgnucash/engine/gnc-date.h
-index b911fa58b..7556fd1c6 100644
---- a/libgnucash/engine/gnc-date.h
-+++ b/libgnucash/engine/gnc-date.h
-@@ -68,12 +68,21 @@
-
- #ifndef GNC_DATE_H
- #define GNC_DATE_H
-+
-+
- #ifdef __cplusplus
- extern "C"
- {
- #endif
--
-+
-+#ifdef __cplusplus
-+extern "C++" {
-+#endif
- #include <glib-object.h>
-+#ifdef __cplusplus
-+}
-+#endif
-+
- #include <time.h>
-
- /**
-diff --git a/libgnucash/engine/gnc-engine.h b/libgnucash/engine/gnc-engine.h
-index 651cf44e5..80aa8b4c2 100644
---- a/libgnucash/engine/gnc-engine.h
-+++ b/libgnucash/engine/gnc-engine.h
-@@ -36,7 +36,12 @@
- #ifndef GNC_ENGINE_H
- #define GNC_ENGINE_H
-
-+#ifdef __cplusplus
-+extern "C++" {
- #include <glib.h>
-+}
-+#endif
-+
- #include "qof.h"
-
- #ifdef __cplusplus
-diff --git a/libgnucash/engine/gnc-numeric.cpp b/libgnucash/engine/gnc-numeric.cpp
-index 5e6773847..040845a31 100644
---- a/libgnucash/engine/gnc-numeric.cpp
-+++ b/libgnucash/engine/gnc-numeric.cpp
-@@ -26,7 +26,6 @@ extern "C"
- {
- #include <config.h>
-
--#include <glib.h>
- #include <math.h>
- #include <stdio.h>
- #include <stdlib.h>
-@@ -35,6 +34,7 @@ extern "C"
- #include "qof.h"
- }
-
-+#include <glib.h>
- #include <stdint.h>
- #include <boost/regex.hpp>
- #include <boost/locale/encoding_utf.hpp>
-diff --git a/libgnucash/engine/gncBusiness.h b/libgnucash/engine/gncBusiness.h
-index a0190e242..1b7ce063b 100644
---- a/libgnucash/engine/gncBusiness.h
-+++ b/libgnucash/engine/gncBusiness.h
-@@ -34,7 +34,11 @@
- #ifndef GNC_BUSINESS_H_
- #define GNC_BUSINESS_H_
-
-+#ifdef __cplusplus
-+extern "C++" {
- #include <glib.h>
-+}
-+#endif
- #include "qof.h"
- #include "Account.h"
-
-diff --git a/libgnucash/engine/gncEntry.h b/libgnucash/engine/gncEntry.h
-index d1d850fea..8c8c82e11 100644
---- a/libgnucash/engine/gncEntry.h
-+++ b/libgnucash/engine/gncEntry.h
-@@ -31,6 +31,12 @@
- #ifndef GNC_ENTRY_H_
- #define GNC_ENTRY_H_
-
-+#ifdef __cplusplus
-+extern "C++" {
-+#include <glib.h>
-+}
-+#endif
-+
- typedef struct _gncEntry GncEntry;
- typedef struct _gncEntryClass GncEntryClass;
-
-diff --git a/libgnucash/engine/guid.h b/libgnucash/engine/guid.h
-index 918b75a78..f43f194d1 100644
---- a/libgnucash/engine/guid.h
-+++ b/libgnucash/engine/guid.h
-@@ -25,13 +25,13 @@
- #ifndef GUID_H
- #define GUID_H
-
-+#include <glib-object.h>
- #ifdef __cplusplus
- extern "C"
- {
- #endif
-
- #include <stddef.h>
--#include <glib-object.h>
-
- /** @addtogroup Entity
- @{ */
-diff --git a/libgnucash/engine/qof-string-cache.cpp b/libgnucash/engine/qof-string-cache.cpp
-index caba239fb..738bbf063 100644
---- a/libgnucash/engine/qof-string-cache.cpp
-+++ b/libgnucash/engine/qof-string-cache.cpp
-@@ -31,12 +31,13 @@ extern "C"
- #include <config.h>
-
- #include <ctype.h>
--#include <glib.h>
- #include <stdlib.h>
- #include <string.h>
- #include "qof.h"
- }
-
-+#include <glib.h>
-+
- /* Uncomment if you need to log anything.
- static QofLogModule log_module = QOF_MOD_UTIL;
- */
-diff --git a/libgnucash/engine/qof.h b/libgnucash/engine/qof.h
-index 08baaeabb..ac3fbf569 100644
---- a/libgnucash/engine/qof.h
-+++ b/libgnucash/engine/qof.h
-@@ -68,7 +68,11 @@
- */
- /** @} */
-
-+#ifdef __cplusplus
-+extern "C++" {
- #include <glib.h>
-+}
-+#endif
- #include "qofid.h"
- #include "qoflog.h"
- #include "gnc-date.h"
-diff --git a/libgnucash/engine/qofbook.cpp b/libgnucash/engine/qofbook.cpp
-index 55f8cf44b..47cfa85fb 100644
---- a/libgnucash/engine/qofbook.cpp
-+++ b/libgnucash/engine/qofbook.cpp
-@@ -41,7 +41,6 @@ extern "C"
- #include <stdlib.h>
- #include <string.h>
-
--#include <glib.h>
- #ifdef GNC_PLATFORM_WINDOWS
- /* Mingw disables the standard type macros for C++ without this override. */
- #define __STDC_FORMAT_MACROS = 1
-@@ -50,6 +49,7 @@ extern "C"
-
- }
-
-+#include <glib.h>
- #include "qof.h"
- #include "qofevent-p.h"
- #include "qofbackend.h"
-diff --git a/libgnucash/engine/qofbook.h b/libgnucash/engine/qofbook.h
-index bc315c80f..4a7877c0a 100644
---- a/libgnucash/engine/qofbook.h
-+++ b/libgnucash/engine/qofbook.h
-@@ -41,6 +41,7 @@
- #define QOF_BOOK_H
-
- #ifdef __cplusplus
-+#include <glib.h> //To preempt it being included extern "C" in a later header.
- extern "C"
- {
- #endif
-diff --git a/libgnucash/engine/qofchoice.cpp b/libgnucash/engine/qofchoice.cpp
-index 715417efa..16a9e4a7a 100644
---- a/libgnucash/engine/qofchoice.cpp
-+++ b/libgnucash/engine/qofchoice.cpp
-@@ -21,14 +21,9 @@
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
--extern "C"
--{
--
- #include <config.h>
- #include <glib.h>
-
--}
--
- #include "qof.h"
- #include "qofchoice.h"
-
-diff --git a/libgnucash/engine/qofclass.cpp b/libgnucash/engine/qofclass.cpp
-index acaa8fb1c..fdabf3fb0 100644
---- a/libgnucash/engine/qofclass.cpp
-+++ b/libgnucash/engine/qofclass.cpp
-@@ -21,11 +21,8 @@
- * *
- \********************************************************************/
-
--extern "C"
--{
- #include <config.h>
- #include <glib.h>
--}
-
- #include "qof.h"
- #include "qofclass-p.h"
-diff --git a/libgnucash/engine/qofevent.cpp b/libgnucash/engine/qofevent.cpp
-index 674cdeb89..ae69048f4 100644
---- a/libgnucash/engine/qofevent.cpp
-+++ b/libgnucash/engine/qofevent.cpp
-@@ -22,11 +22,8 @@
- * *
- ********************************************************************/
-
--extern "C"
--{
- #include <config.h>
- #include <glib.h>
--}
-
- #include "qof.h"
- #include "qofevent-p.h"
-diff --git a/libgnucash/engine/qofid.cpp b/libgnucash/engine/qofid.cpp
-index 7f713c66f..ac5167fca 100644
---- a/libgnucash/engine/qofid.cpp
-+++ b/libgnucash/engine/qofid.cpp
-@@ -26,9 +26,9 @@ extern "C"
- {
- #include <config.h>
- #include <string.h>
--#include <glib.h>
- }
-
-+#include <glib.h>
- #include "qof.h"
- #include "qofid-p.h"
- #include "qofinstance-p.h"
-diff --git a/libgnucash/engine/qoflog.cpp b/libgnucash/engine/qoflog.cpp
-index a545ff051..f91817668 100644
---- a/libgnucash/engine/qoflog.cpp
-+++ b/libgnucash/engine/qoflog.cpp
-@@ -34,8 +34,6 @@ extern "C"
- #include <windows.h>
- #endif
-
--#include <glib.h>
--#include <glib/gstdio.h>
- #ifdef HAVE_UNISTD_H
- # include <unistd.h>
- #else
-@@ -48,10 +46,12 @@ extern "C"
- #include <string.h>
- #include <stdio.h>
-
--#undef G_LOG_DOMAIN
--#define G_LOG_DOMAIN "qof.log"
- }
-
-+#include <glib.h>
-+#include <glib/gstdio.h>
-+#undef G_LOG_DOMAIN
-+#define G_LOG_DOMAIN "qof.log"
- #include "qof.h"
- #include "qoflog.h"
- #include <string>
-diff --git a/libgnucash/engine/qofobject.cpp b/libgnucash/engine/qofobject.cpp
-index ba87e3434..0138aad15 100644
---- a/libgnucash/engine/qofobject.cpp
-+++ b/libgnucash/engine/qofobject.cpp
-@@ -23,11 +23,8 @@
- * Copyright (C) 2001 Derek Atkins
- * Author: Derek Atkins <warlord@MIT.EDU>
- */
--extern "C"
--{
- #include <config.h>
- #include <glib.h>
--}
-
- #include "qof.h"
- #include "qofobject-p.h"
-diff --git a/libgnucash/engine/qofquery.cpp b/libgnucash/engine/qofquery.cpp
-index 5af856039..41d49c1bb 100644
---- a/libgnucash/engine/qofquery.cpp
-+++ b/libgnucash/engine/qofquery.cpp
-@@ -27,11 +27,11 @@ extern "C"
-
- #include <sys/types.h>
- #include <time.h>
--#include <glib.h>
- #include <regex.h>
- #include <string.h>
- }
-
-+#include <glib.h>
- #include "qof.h"
- #include "qof-backend.hpp"
- #include "qofbook-p.h"
-diff --git a/libgnucash/engine/qofsession.cpp b/libgnucash/engine/qofsession.cpp
-index 86edb1fc6..dd96a609a 100644
---- a/libgnucash/engine/qofsession.cpp
-+++ b/libgnucash/engine/qofsession.cpp
-@@ -48,13 +48,13 @@ extern "C"
- # endif
- #endif
-
--#include <glib.h>
- #include "qof.h"
- #include "qofobject-p.h"
-
- static QofLogModule log_module = QOF_MOD_SESSION;
- } //extern 'C'
-
-+#include <glib.h>
- #include "qofbook-p.h"
- #include "qof-backend.hpp"
- #include "qofsession.hpp"
-diff --git a/libgnucash/engine/test-core/test-engine-stuff.h b/libgnucash/engine/test-core/test-engine-stuff.h
-index bc661da44..54a47a1a4 100644
---- a/libgnucash/engine/test-core/test-engine-stuff.h
-+++ b/libgnucash/engine/test-core/test-engine-stuff.h
-@@ -24,11 +24,11 @@
-
- #ifndef TEST_ENGINE_STUFF_H
- #define TEST_ENGINE_STUFF_H
-+#include <glib.h>
- #ifdef __cplusplus
- extern "C"
- {
- #endif
--#include <glib.h>
- #include <stdlib.h>
- #include <stdint.h>
-
-diff --git a/libgnucash/engine/test/test-account-object.cpp b/libgnucash/engine/test/test-account-object.cpp
-index 32f612e65..f1d21a570 100644
---- a/libgnucash/engine/test/test-account-object.cpp
-+++ b/libgnucash/engine/test/test-account-object.cpp
-@@ -24,11 +24,12 @@
- * @brief Minimal test of reading/writing account parameters
- * @author David Hampton <hampton@employees.org>
- */
-+#include <glib.h>
-+
- extern "C"
- {
- #include <config.h>
- #include <unistd.h>
--#include <glib.h>
- #include "qof.h"
- #include "Account.h"
- #include "cashobjects.h"
-diff --git a/libgnucash/engine/test/test-commodities.cpp b/libgnucash/engine/test/test-commodities.cpp
-index 5aae8ec60..efd942158 100644
---- a/libgnucash/engine/test/test-commodities.cpp
-+++ b/libgnucash/engine/test/test-commodities.cpp
-@@ -22,11 +22,11 @@
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- */
-+#include <glib.h>
-+
- extern "C"
- {
- #include <config.h>
--#include <glib.h>
--
- #include "gnc-commodity.h"
- #include "qof.h"
- #include "test-engine-stuff.h"
-diff --git a/libgnucash/engine/test/test-group-vs-book.cpp b/libgnucash/engine/test/test-group-vs-book.cpp
-index 31cf1aade..010913ebb 100644
---- a/libgnucash/engine/test/test-group-vs-book.cpp
-+++ b/libgnucash/engine/test/test-group-vs-book.cpp
-@@ -20,10 +20,11 @@
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- */
-+#include <glib.h>
-+
- extern "C"
- {
- #include <config.h>
--#include <glib.h>
- #include "qof.h"
- #include "cashobjects.h"
- #include "Account.h"
-diff --git a/libgnucash/engine/test/test-guid.cpp b/libgnucash/engine/test/test-guid.cpp
-index 6c7607524..ad42ec49c 100644
---- a/libgnucash/engine/test/test-guid.cpp
-+++ b/libgnucash/engine/test/test-guid.cpp
-@@ -26,11 +26,12 @@
- *
- */
- #include <guid.hpp>
-+#include <glib.h>
-+
- extern "C"
- {
- #include <config.h>
- #include <ctype.h>
--#include <glib.h>
- #include "cashobjects.h"
- #include "test-stuff.h"
- #include "test-engine-stuff.h"
-diff --git a/libgnucash/engine/test/test-lots.cpp b/libgnucash/engine/test/test-lots.cpp
-index c1033d3d0..58d2f8ab1 100644
---- a/libgnucash/engine/test/test-lots.cpp
-+++ b/libgnucash/engine/test/test-lots.cpp
-@@ -24,11 +24,12 @@
- * @brief Minimal test to see if automatic lot scrubbing works.
- * @author Linas Vepstas <linas@linas.org>
- */
-+#include <glib.h>
-+
- extern "C"
- {
- #include <config.h>
- #include <ctype.h>
--#include <glib.h>
- #include "qof.h"
- #include "Account.h"
- #include "Scrub3.h"
-diff --git a/libgnucash/engine/test/test-numeric.cpp b/libgnucash/engine/test/test-numeric.cpp
-index 1963d80fe..c2cd7e534 100644
---- a/libgnucash/engine/test/test-numeric.cpp
-+++ b/libgnucash/engine/test/test-numeric.cpp
-@@ -21,12 +21,12 @@
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- */
-+#include <glib.h>
-
- extern "C"
- {
- #include <config.h>
- #include <ctype.h>
--#include <glib.h>
- #include "cashobjects.h"
- #include "test-stuff.h"
- #include "test-engine-stuff.h"
-diff --git a/libgnucash/engine/test/test-qofinstance.cpp b/libgnucash/engine/test/test-qofinstance.cpp
-index 1f979a161..9299e4223 100644
---- a/libgnucash/engine/test/test-qofinstance.cpp
-+++ b/libgnucash/engine/test/test-qofinstance.cpp
-@@ -20,11 +20,12 @@
- * Boston, MA 02110-1301, USA gnu@gnu.org *
- \********************************************************************/
-
-+#include <glib.h>
- #include <guid.hpp>
-+
- extern "C"
- {
- #include <config.h>
--#include <glib.h>
- #include <unittest-support.h>
- #include "../qof.h"
- }
-diff --git a/libgnucash/engine/test/test-query.cpp b/libgnucash/engine/test/test-query.cpp
-index f21c7922a..94ab2c0d8 100644
---- a/libgnucash/engine/test/test-query.cpp
-+++ b/libgnucash/engine/test/test-query.cpp
-@@ -20,10 +20,11 @@
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- */
-+#include <glib.h>
-+
- extern "C"
- {
- #include <config.h>
--#include <glib.h>
- #include "qof.h"
- #include "cashobjects.h"
- #include "Transaction.h"
-diff --git a/libgnucash/engine/test/test-split-vs-account.cpp b/libgnucash/engine/test/test-split-vs-account.cpp
-index ee1e320a1..81c42d635 100644
---- a/libgnucash/engine/test/test-split-vs-account.cpp
-+++ b/libgnucash/engine/test/test-split-vs-account.cpp
-@@ -21,10 +21,11 @@
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- */
-+#include <glib.h>
-+
- extern "C"
- {
- #include <config.h>
--#include <glib.h>
- #include "qof.h"
- #include "cashobjects.h"
- #include "AccountP.h"
-diff --git a/libgnucash/engine/test/test-transaction-reversal.cpp b/libgnucash/engine/test/test-transaction-reversal.cpp
-index c8e918e4f..e5183cc5a 100644
---- a/libgnucash/engine/test/test-transaction-reversal.cpp
-+++ b/libgnucash/engine/test/test-transaction-reversal.cpp
-@@ -20,10 +20,11 @@
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- */
-+#include <glib.h>
-+
- extern "C"
- {
- #include <config.h>
--#include <glib.h>
- #include <string.h>
- #include "cashobjects.h"
- #include "Transaction.h"
-diff --git a/libgnucash/engine/test/test-transaction-voiding.cpp b/libgnucash/engine/test/test-transaction-voiding.cpp
-index f6037d178..e4aa60c63 100644
---- a/libgnucash/engine/test/test-transaction-voiding.cpp
-+++ b/libgnucash/engine/test/test-transaction-voiding.cpp
-@@ -20,10 +20,11 @@
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- */
-+#include <glib.h>
-+
- extern "C"
- {
- #include <config.h>
--#include <glib.h>
- #include <string.h>
- #include "cashobjects.h"
- #include "Account.h"
-diff --git a/libgnucash/engine/test/utest-Account.cpp b/libgnucash/engine/test/utest-Account.cpp
-index eab36c325..be3057f3b 100644
---- a/libgnucash/engine/test/utest-Account.cpp
-+++ b/libgnucash/engine/test/utest-Account.cpp
-@@ -19,11 +19,12 @@
- * 51 Franklin Street, Fifth Floor Fax: +1-617-542-2652 *
- * Boston, MA 02110-1301, USA gnu@gnu.org *
- ********************************************************************/
-+#include <glib.h>
-+
- extern "C"
- {
- #include <config.h>
- #include <string.h>
--#include <glib.h>
- #include <unittest-support.h>
- #include <gnc-event.h>
- #include <gnc-date.h>
-diff --git a/libgnucash/engine/test/utest-Split.cpp b/libgnucash/engine/test/utest-Split.cpp
-index 18286e283..660210b16 100644
---- a/libgnucash/engine/test/utest-Split.cpp
-+++ b/libgnucash/engine/test/utest-Split.cpp
-@@ -21,11 +21,12 @@
- * 51 Franklin Street, Fifth Floor Fax: +1-617-542-2652 *
- * Boston, MA 02110-1301, USA gnu@gnu.org *
- ********************************************************************/
-+#include <glib.h>
-+
- extern "C"
- {
- #include <config.h>
- #include <string.h>
--#include <glib.h>
- #include <unittest-support.h>
- /* Add specific headers for this class */
- #include <Split.h>
-diff --git a/libgnucash/engine/test/utest-Transaction.cpp b/libgnucash/engine/test/utest-Transaction.cpp
-index ac6effbe6..add1b029b 100644
---- a/libgnucash/engine/test/utest-Transaction.cpp
-+++ b/libgnucash/engine/test/utest-Transaction.cpp
-@@ -21,11 +21,12 @@
- * 51 Franklin Street, Fifth Floor Fax: +1-617-542-2652 *
- * Boston, MA 02110-1301, USA gnu@gnu.org *
- ********************************************************************/
-+#include <glib.h>
-+
- extern "C"
- {
- #include <config.h>
- #include <string.h>
--#include <glib.h>
- #include <unittest-support.h>
- /* Add specific headers for this class */
- #include "../Transaction.h"
---
-2.26.3
-
diff --git a/app-office/gnucash/gnucash-4.4.ebuild b/app-office/gnucash/gnucash-4.4.ebuild
index 0713cd88e77..952be652e30 100644
--- a/app-office/gnucash/gnucash-4.4.ebuild
+++ b/app-office/gnucash/gnucash-4.4.ebuild
@@ -10,6 +10,7 @@ inherit cmake gnome2-utils python-single-r1 toolchain-funcs xdg-utils
DESCRIPTION="A personal finance manager"
HOMEPAGE="https://www.gnucash.org/"
SRC_URI="https://github.com/Gnucash/${PN}/releases/download/${PV}/${P}.tar.bz2"
+SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-Fix-build-with-glib-2.68.patch.xz"
SLOT="0"
LICENSE="GPL-2"
@@ -96,7 +97,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-3.2-no-gui.patch
"${FILESDIR}"/${PN}-3.8-examples-subdir.patch
"${FILESDIR}"/${PN}-3.8-exclude-license.patch
- "${FILESDIR}"/${P}-Fix-build-with-glib-2.68.patch
+ "${WORKDIR}"/${P}-Fix-build-with-glib-2.68.patch
)
S="${WORKDIR}/${PN}-$(ver_cut 1-2)"
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-office/gnucash/, app-office/gnucash/files/
@ 2021-04-19 3:50 Matt Turner
0 siblings, 0 replies; 16+ messages in thread
From: Matt Turner @ 2021-04-19 3:50 UTC (permalink / raw
To: gentoo-commits
commit: 603653d08b40bbe57036455a5bf49911412d65a0
Author: Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 19 03:27:31 2021 +0000
Commit: Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Mon Apr 19 03:31:15 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=603653d0
app-office/gnucash: Fix build with glib-2.68
Closes: https://bugs.gentoo.org/777693
Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>
.../gnucash-4.4-Fix-build-with-glib-2.68.patch | 2372 ++++++++++++++++++++
app-office/gnucash/gnucash-4.4.ebuild | 1 +
2 files changed, 2373 insertions(+)
diff --git a/app-office/gnucash/files/gnucash-4.4-Fix-build-with-glib-2.68.patch b/app-office/gnucash/files/gnucash-4.4-Fix-build-with-glib-2.68.patch
new file mode 100644
index 00000000000..1efa793db3a
--- /dev/null
+++ b/app-office/gnucash/files/gnucash-4.4-Fix-build-with-glib-2.68.patch
@@ -0,0 +1,2372 @@
+From ca76877e8e72a1e716e084eac6953e53ba1ed428 Mon Sep 17 00:00:00 2001
+From: Bill Nottingham <notting@splat.cc>
+Date: Sat, 13 Feb 2021 16:35:27 -0500
+Subject: [PATCH] Fix build with glib 2.68
+
+c0f2c3ae2 ("Fix build with glib2 2.67.x.")
+7a7c26f87 ("Move glib and gtk includes out of extern C for tests.")
+1dd426e31 ("Potentially fix CI test on Arch related to glib and c++")
+cb0436501 ("More fixes for Arch ci failure")
+e9dfd0d9e ("Still more fixes for Arch ci failure")
+c49b45d8f ("Finish the glib 2.67 fixes for CI tests.")
+---
+ bindings/guile/test/test-scm-query.cpp | 4 ++--
+ gnucash/gnome-utils/gnc-amount-edit.h | 2 ++
+ gnucash/gnome-utils/gnc-tree-model-commodity.c | 1 +
+ gnucash/gnome/assistant-loan.cpp | 5 +++--
+ gnucash/import-export/csv-imp/gnc-imp-props-price.cpp | 6 +++---
+ gnucash/import-export/csv-imp/gnc-imp-props-tx.cpp | 5 +++--
+ .../test/test-import-pending-matches.cpp | 5 +++--
+ gnucash/register/register-gnome/datecell-gnome.c | 1 +
+ libgnucash/app-utils/gnc-sx-instance-model.c | 1 +
+ libgnucash/app-utils/gnc-ui-balances.c | 1 +
+ libgnucash/app-utils/test/test-autoclear.cpp | 2 +-
+ libgnucash/app-utils/test/test-option-util.cpp | 7 ++++---
+ libgnucash/app-utils/test/test-print-parse-amount.cpp | 5 +++--
+ libgnucash/app-utils/test/test-print-queries.cpp | 6 +++---
+ libgnucash/app-utils/test/test-scm-query-string.cpp | 7 +++----
+ libgnucash/app-utils/test/test-sx.cpp | 5 +++--
+ libgnucash/backend/dbi/gnc-backend-dbi.cpp | 7 ++++---
+ libgnucash/backend/dbi/test/test-backend-dbi.cpp | 2 +-
+ libgnucash/backend/sql/gnc-address-sql.cpp | 4 ++--
+ libgnucash/backend/sql/gnc-book-sql.cpp | 4 ++--
+ libgnucash/backend/sql/gnc-customer-sql.cpp | 3 ++-
+ libgnucash/backend/sql/gnc-employee-sql.cpp | 2 +-
+ libgnucash/backend/sql/gnc-entry-sql.cpp | 2 +-
+ libgnucash/backend/sql/gnc-job-sql.cpp | 2 +-
+ libgnucash/backend/sql/gnc-price-sql.cpp | 3 +--
+ libgnucash/backend/sql/gnc-recurrence-sql.cpp | 3 +--
+ libgnucash/backend/sql/gnc-schedxaction-sql.cpp | 4 ++--
+ libgnucash/backend/sql/gnc-vendor-sql.cpp | 4 ++--
+ libgnucash/backend/sql/test/test-sqlbe.cpp | 3 ++-
+ libgnucash/backend/sql/test/utest-gnc-backend-sql.cpp | 3 ++-
+ libgnucash/backend/xml/gnc-account-xml-v2.cpp | 4 ++--
+ libgnucash/backend/xml/gnc-address-xml-v2.cpp | 4 ++--
+ libgnucash/backend/xml/gnc-backend-xml.cpp | 7 ++++---
+ libgnucash/backend/xml/gnc-bill-term-xml-v2.cpp | 2 --
+ libgnucash/backend/xml/gnc-book-xml-v2.cpp | 4 ++--
+ libgnucash/backend/xml/gnc-budget-xml-v2.cpp | 4 ++--
+ libgnucash/backend/xml/gnc-commodity-xml-v2.cpp | 4 ++--
+ libgnucash/backend/xml/gnc-customer-xml-v2.cpp | 4 ++--
+ libgnucash/backend/xml/gnc-employee-xml-v2.cpp | 3 +--
+ libgnucash/backend/xml/gnc-entry-xml-v2.cpp | 4 ++--
+ libgnucash/backend/xml/gnc-freqspec-xml-v2.cpp | 3 +--
+ libgnucash/backend/xml/gnc-invoice-xml-v2.cpp | 3 +--
+ libgnucash/backend/xml/gnc-job-xml-v2.cpp | 3 +--
+ libgnucash/backend/xml/gnc-lot-xml-v2.cpp | 3 +--
+ libgnucash/backend/xml/gnc-order-xml-v2.cpp | 3 +--
+ libgnucash/backend/xml/gnc-owner-xml-v2.cpp | 3 +--
+ libgnucash/backend/xml/gnc-recurrence-xml-v2.cpp | 3 +--
+ libgnucash/backend/xml/gnc-schedxaction-xml-v2.cpp | 3 +--
+ libgnucash/backend/xml/gnc-tax-table-xml-v2.cpp | 3 +--
+ libgnucash/backend/xml/gnc-transaction-xml-v2.cpp | 3 +--
+ libgnucash/backend/xml/gnc-vendor-xml-v2.cpp | 3 +--
+ libgnucash/backend/xml/gnc-xml-backend.cpp | 4 ++--
+ libgnucash/backend/xml/gnc-xml-helper.cpp | 3 ---
+ libgnucash/backend/xml/gnc-xml-helper.h | 3 +++
+ libgnucash/backend/xml/io-example-account.cpp | 6 +++---
+ libgnucash/backend/xml/io-gncxml-gen.h | 4 +---
+ libgnucash/backend/xml/io-gncxml-v2.cpp | 5 +++--
+ libgnucash/backend/xml/io-utils.cpp | 2 +-
+ libgnucash/backend/xml/sixtp-dom-generators.cpp | 2 +-
+ libgnucash/backend/xml/sixtp-dom-parsers.cpp | 4 ++--
+ libgnucash/backend/xml/sixtp-to-dom-parser.cpp | 5 ++---
+ libgnucash/backend/xml/sixtp.cpp | 6 +++---
+ libgnucash/backend/xml/sixtp.h | 2 +-
+ libgnucash/backend/xml/test/test-dom-converters1.cpp | 7 ++++---
+ libgnucash/backend/xml/test/test-dom-parser1.cpp | 7 ++++---
+ libgnucash/backend/xml/test/test-file-stuff.cpp | 7 ++++---
+ libgnucash/backend/xml/test/test-file-stuff.h | 4 ++--
+ .../backend/xml/test/test-load-example-account.cpp | 6 ++++--
+ libgnucash/backend/xml/test/test-load-xml2.cpp | 7 ++++---
+ libgnucash/backend/xml/test/test-save-in-lang.cpp | 8 +++++---
+ libgnucash/backend/xml/test/test-xml-account.cpp | 8 +++++---
+ libgnucash/backend/xml/test/test-xml-commodity.cpp | 8 +++++---
+ libgnucash/backend/xml/test/test-xml-pricedb.cpp | 5 +++--
+ libgnucash/backend/xml/test/test-xml-transaction.cpp | 5 +++--
+ libgnucash/backend/xml/test/test-xml2-is-file.cpp | 3 +--
+ libgnucash/core-utils/gnc-filepath-utils.cpp | 9 +++++----
+ libgnucash/core-utils/gnc-locale-utils.cpp | 3 ---
+ libgnucash/core-utils/gnc-prefs.h | 4 ++++
+ libgnucash/core-utils/test/gtest-path-utilities.cpp | 3 ++-
+ libgnucash/engine/SX-book.h | 4 ++++
+ libgnucash/engine/engine-helpers.h | 4 ++++
+ libgnucash/engine/gnc-commodity.h | 5 +++++
+ libgnucash/engine/gnc-date.cpp | 2 +-
+ libgnucash/engine/gnc-date.h | 11 ++++++++++-
+ libgnucash/engine/gnc-engine.h | 5 +++++
+ libgnucash/engine/gnc-numeric.cpp | 2 +-
+ libgnucash/engine/gncBusiness.h | 4 ++++
+ libgnucash/engine/gncEntry.h | 6 ++++++
+ libgnucash/engine/guid.h | 2 +-
+ libgnucash/engine/qof-string-cache.cpp | 3 ++-
+ libgnucash/engine/qof.h | 4 ++++
+ libgnucash/engine/qofbook.cpp | 2 +-
+ libgnucash/engine/qofbook.h | 1 +
+ libgnucash/engine/qofchoice.cpp | 5 -----
+ libgnucash/engine/qofclass.cpp | 3 ---
+ libgnucash/engine/qofevent.cpp | 3 ---
+ libgnucash/engine/qofid.cpp | 2 +-
+ libgnucash/engine/qoflog.cpp | 8 ++++----
+ libgnucash/engine/qofobject.cpp | 3 ---
+ libgnucash/engine/qofquery.cpp | 2 +-
+ libgnucash/engine/qofsession.cpp | 2 +-
+ libgnucash/engine/test-core/test-engine-stuff.h | 2 +-
+ libgnucash/engine/test/test-account-object.cpp | 3 ++-
+ libgnucash/engine/test/test-commodities.cpp | 4 ++--
+ libgnucash/engine/test/test-gnc-guid-old.cpp | 3 ++-
+ libgnucash/engine/test/test-group-vs-book.cpp | 3 ++-
+ libgnucash/engine/test/test-guid.cpp | 3 ++-
+ libgnucash/engine/test/test-lots.cpp | 3 ++-
+ libgnucash/engine/test/test-numeric.cpp | 2 +-
+ libgnucash/engine/test/test-qofinstance.cpp | 3 ++-
+ libgnucash/engine/test/test-qofsession-old.cpp | 3 ++-
+ libgnucash/engine/test/test-query.cpp | 3 ++-
+ libgnucash/engine/test/test-split-vs-account.cpp | 3 ++-
+ libgnucash/engine/test/test-transaction-reversal.cpp | 3 ++-
+ libgnucash/engine/test/test-transaction-voiding.cpp | 3 ++-
+ libgnucash/engine/test/utest-Account.cpp | 3 ++-
+ libgnucash/engine/test/utest-Split.cpp | 3 ++-
+ libgnucash/engine/test/utest-Transaction.cpp | 3 ++-
+ 118 files changed, 256 insertions(+), 199 deletions(-)
+
+diff --git a/bindings/guile/test/test-scm-query.cpp b/bindings/guile/test/test-scm-query.cpp
+index 8ded44992..b8ae768e7 100644
+--- a/bindings/guile/test/test-scm-query.cpp
++++ b/bindings/guile/test/test-scm-query.cpp
+@@ -18,12 +18,12 @@
+ * *
+ \********************************************************************/
+
++#include <config.h>
+ #include <libguile.h>
++#include <glib.h>
+
+ extern "C"
+ {
+-#include <config.h>
+-#include <glib.h>
+
+ #include "gnc-engine-guile.h"
+ #include "test-engine-stuff.h"
+diff --git a/gnucash/gnome-utils/gnc-amount-edit.h b/gnucash/gnome-utils/gnc-amount-edit.h
+index b107af1a3..45d88dd4a 100644
+--- a/gnucash/gnome-utils/gnc-amount-edit.h
++++ b/gnucash/gnome-utils/gnc-amount-edit.h
+@@ -32,6 +32,8 @@
+ #include "qof.h"
+ #include "gnc-ui-util.h"
+
++#include <gtk/gtk.h>
++
+ #define GNC_TYPE_AMOUNT_EDIT (gnc_amount_edit_get_type())
+ #define GNC_AMOUNT_EDIT(obj) G_TYPE_CHECK_INSTANCE_CAST (obj, GNC_TYPE_AMOUNT_EDIT, GNCAmountEdit)
+ #define GNC_AMOUNT_EDIT_CLASS(klass) G_TYPE_CHECK_CLASS_CAST (klass, GNC_TYPE_AMOUNT_EDIT, GNCAmountEditClass)
+diff --git a/gnucash/gnome-utils/gnc-tree-model-commodity.c b/gnucash/gnome-utils/gnc-tree-model-commodity.c
+index dbf1c5cca..cdb6e297d 100644
+--- a/gnucash/gnome-utils/gnc-tree-model-commodity.c
++++ b/gnucash/gnome-utils/gnc-tree-model-commodity.c
+@@ -36,6 +36,7 @@
+
+ #include <config.h>
+
++#include <glib/gi18n.h>
+ #include <gtk/gtk.h>
+ #include <string.h>
+
+diff --git a/gnucash/gnome/assistant-loan.cpp b/gnucash/gnome/assistant-loan.cpp
+index ed08172f6..6878de2d4 100644
+--- a/gnucash/gnome/assistant-loan.cpp
++++ b/gnucash/gnome/assistant-loan.cpp
+@@ -26,8 +26,6 @@
+ extern "C"
+ {
+ #include <config.h>
+-#include <gtk/gtk.h>
+-#include <glib/gi18n.h>
+ #include <string.h>
+ #include <stdlib.h>
+ #include <math.h>
+@@ -52,6 +50,9 @@ extern "C"
+ #endif
+ }
+
++#include <glib.h>
++#include <glib/gi18n.h>
++#include <gtk/gtk.h>
+ #include <gnc-locale-utils.hpp>
+ #include <boost/locale.hpp>
+ #include <string>
+diff --git a/gnucash/import-export/csv-imp/gnc-imp-props-price.cpp b/gnucash/import-export/csv-imp/gnc-imp-props-price.cpp
+index 5419b1726..1116daeb6 100644
+--- a/gnucash/import-export/csv-imp/gnc-imp-props-price.cpp
++++ b/gnucash/import-export/csv-imp/gnc-imp-props-price.cpp
+@@ -27,13 +27,13 @@ extern "C" {
+ #include <windows.h>
+ #endif
+
+-#include <glib.h>
+-#include <glib/gi18n.h>
+-
+ #include "engine-helpers.h"
+ #include "gnc-ui-util.h"
+ }
+
++#include <glib.h>
++#include <glib/gi18n.h>
++
+ #include <exception>
+ #include <map>
+ #include <string>
+diff --git a/gnucash/import-export/csv-imp/gnc-imp-props-tx.cpp b/gnucash/import-export/csv-imp/gnc-imp-props-tx.cpp
+index 4129c317a..dac6baf8e 100644
+--- a/gnucash/import-export/csv-imp/gnc-imp-props-tx.cpp
++++ b/gnucash/import-export/csv-imp/gnc-imp-props-tx.cpp
+@@ -26,8 +26,6 @@ extern "C" {
+ #include <windows.h>
+ #endif
+
+-#include <glib.h>
+-#include <glib/gi18n.h>
+
+ #include "engine-helpers.h"
+ #include "gnc-csv-account-map.h"
+@@ -39,6 +37,9 @@ extern "C" {
+
+ }
+
++#include <glib.h>
++#include <glib/gi18n.h>
++
+ #include <algorithm>
+ #include <exception>
+ #include <map>
+diff --git a/gnucash/import-export/test/test-import-pending-matches.cpp b/gnucash/import-export/test/test-import-pending-matches.cpp
+index e5dccc441..3d3d61dfc 100644
+--- a/gnucash/import-export/test/test-import-pending-matches.cpp
++++ b/gnucash/import-export/test/test-import-pending-matches.cpp
+@@ -1,9 +1,10 @@
++#include <glib.h>
++#include <gtk/gtk.h> /* for references in import-backend.h */
++
+ extern "C" {
+ #include <config.h>
+ #include <unittest-support.h>
+
+-#include <glib.h>
+-#include <gtk/gtk.h> /* for references in import-backend.h */
+ #include "import-backend.h"
+ #include "import-pending-matches.h"
+ #include "Split.h"
+diff --git a/gnucash/register/register-gnome/datecell-gnome.c b/gnucash/register/register-gnome/datecell-gnome.c
+index c716465b4..ca0b961f7 100644
+--- a/gnucash/register/register-gnome/datecell-gnome.c
++++ b/gnucash/register/register-gnome/datecell-gnome.c
+@@ -37,6 +37,7 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <time.h>
++#include <glib/gi18n.h>
+ #include <gdk/gdkkeysyms.h>
+
+ #include "datecell.h"
+diff --git a/libgnucash/app-utils/gnc-sx-instance-model.c b/libgnucash/app-utils/gnc-sx-instance-model.c
+index 26a554f41..0f36e48af 100644
+--- a/libgnucash/app-utils/gnc-sx-instance-model.c
++++ b/libgnucash/app-utils/gnc-sx-instance-model.c
+@@ -32,6 +32,7 @@
+
+ #include <config.h>
+ #include <glib.h>
++#include <glib/gi18n.h>
+ #include <glib-object.h>
+ #include <stdlib.h>
+
+diff --git a/libgnucash/app-utils/gnc-ui-balances.c b/libgnucash/app-utils/gnc-ui-balances.c
+index 27ce97666..86b747cbc 100644
+--- a/libgnucash/app-utils/gnc-ui-balances.c
++++ b/libgnucash/app-utils/gnc-ui-balances.c
+@@ -29,6 +29,7 @@
+ #include "gnc-ui-util.h"
+
+ #include <glib.h>
++#include <glib/gi18n.h>
+
+ #include "Account.h"
+ #include "Split.h"
+diff --git a/libgnucash/app-utils/test/test-autoclear.cpp b/libgnucash/app-utils/test/test-autoclear.cpp
+index abb84e1c5..9a44e3c9d 100644
+--- a/libgnucash/app-utils/test/test-autoclear.cpp
++++ b/libgnucash/app-utils/test/test-autoclear.cpp
+@@ -22,7 +22,7 @@
+ * Boston, MA 02110-1301, USA gnu@gnu.org *
+ ********************************************************************/
+ #include "config.h"
+-
++#include <glib.h>
+ // GoogleTest is written in C++, however, the function we test in C.
+ extern "C" {
+ #include "../gnc-ui-balances.h"
+diff --git a/libgnucash/app-utils/test/test-option-util.cpp b/libgnucash/app-utils/test/test-option-util.cpp
+index c00f32978..c4b1c0c40 100644
+--- a/libgnucash/app-utils/test/test-option-util.cpp
++++ b/libgnucash/app-utils/test/test-option-util.cpp
+@@ -22,11 +22,12 @@
+ * Boston, MA 02110-1301, USA gnu@gnu.org *
+ ********************************************************************/
+ #include <kvp-frame.hpp>
+-#include <gmp.h>
+-extern "C"
+-{
++#include <gmp.h>
+ #include <config.h>
+ #include <glib.h>
++
++extern "C"
++{
+ #include <unittest-support.h>
+ #include <qofbookslots.h>
+ #include "test-engine-stuff.h"
+diff --git a/libgnucash/app-utils/test/test-print-parse-amount.cpp b/libgnucash/app-utils/test/test-print-parse-amount.cpp
+index 62d378530..8dea72099 100644
+--- a/libgnucash/app-utils/test/test-print-parse-amount.cpp
++++ b/libgnucash/app-utils/test/test-print-parse-amount.cpp
+@@ -18,12 +18,13 @@
+ * *
+ \********************************************************************/
+
++#include <glib.h>
++#include <glib/gprintf.h>
++
+ extern "C"
+ {
+ #include <config.h>
+-#include <glib.h>
+ #include <stdlib.h>
+-#include <glib/gprintf.h>
+
+ #include "gnc-ui-util.h"
+ #include "gnc-numeric.h"
+diff --git a/libgnucash/app-utils/test/test-print-queries.cpp b/libgnucash/app-utils/test/test-print-queries.cpp
+index 9d6fa5a04..972758ea8 100644
+--- a/libgnucash/app-utils/test/test-print-queries.cpp
++++ b/libgnucash/app-utils/test/test-print-queries.cpp
+@@ -18,13 +18,13 @@
+ * *
+ \********************************************************************/
+
++#include <config.h>
++#include <glib.h>
+ #include <libguile.h>
++#include "guile-mappings.h"
+
+ extern "C"
+ {
+-#include <config.h>
+-#include <glib.h>
+-#include "guile-mappings.h"
+
+ #include "gnc-engine-guile.h"
+ #include "test-engine-stuff.h"
+diff --git a/libgnucash/app-utils/test/test-scm-query-string.cpp b/libgnucash/app-utils/test/test-scm-query-string.cpp
+index 13e9ad35e..a31078858 100644
+--- a/libgnucash/app-utils/test/test-scm-query-string.cpp
++++ b/libgnucash/app-utils/test/test-scm-query-string.cpp
+@@ -18,14 +18,13 @@
+ * *
+ \********************************************************************/
+
+-#include <libguile.h>
+-
+-extern "C"
+-{
+ #include <config.h>
+ #include <glib.h>
+ #include "guile-mappings.h"
++#include <libguile.h>
+
++extern "C"
++{
+ #include "gnc-engine-guile.h"
+ #include "gnc-guile-utils.h"
+ #include "test-engine-stuff.h"
+diff --git a/libgnucash/app-utils/test/test-sx.cpp b/libgnucash/app-utils/test/test-sx.cpp
+index b635c00d2..c6070d9ab 100644
+--- a/libgnucash/app-utils/test/test-sx.cpp
++++ b/libgnucash/app-utils/test/test-sx.cpp
+@@ -18,11 +18,12 @@
+ * *
+ \********************************************************************/
+
++#include <config.h>
++#include <glib.h>
++
+ extern "C"
+ {
+-#include <config.h>
+ #include <stdlib.h>
+-#include <glib.h>
+ #include "SX-book.h"
+ #include "gnc-date.h"
+ #include "gnc-sx-instance-model.h"
+diff --git a/libgnucash/backend/dbi/gnc-backend-dbi.cpp b/libgnucash/backend/dbi/gnc-backend-dbi.cpp
+index 25699e5ca..f5886c7d1 100644
+--- a/libgnucash/backend/dbi/gnc-backend-dbi.cpp
++++ b/libgnucash/backend/dbi/gnc-backend-dbi.cpp
+@@ -48,9 +48,6 @@ extern "C"
+
+ #include <inttypes.h>
+ #include <errno.h>
+-#include <glib.h>
+-#include <glib/gstdio.h>
+-
+ #include "qof.h"
+ #include "qofquery-p.h"
+ #include "qofquerycore-p.h"
+@@ -72,6 +69,10 @@ extern "C"
+ #endif
+
+ }
++
++#include <glib.h>
++#include <glib/gstdio.h>
++
+ #include <boost/regex.hpp>
+ #include <string>
+ #include <iomanip>
+diff --git a/libgnucash/backend/dbi/test/test-backend-dbi.cpp b/libgnucash/backend/dbi/test/test-backend-dbi.cpp
+index 4ba484448..acb21e40c 100644
+--- a/libgnucash/backend/dbi/test/test-backend-dbi.cpp
++++ b/libgnucash/backend/dbi/test/test-backend-dbi.cpp
+@@ -19,11 +19,11 @@
+ * 51 Franklin Street, Fifth Floor Fax: +1-617-542-2652 *
+ * Boston, MA 02110-1301, USA gnu@gnu.org *
+ \********************************************************************/
++#include <glib.h>
+
+ extern "C"
+ {
+ #include <config.h>
+-#include <glib.h>
+ #include "qof.h"
+ #include "cashobjects.h"
+ }
+diff --git a/libgnucash/backend/sql/gnc-address-sql.cpp b/libgnucash/backend/sql/gnc-address-sql.cpp
+index e3c18ca9b..8e78f0876 100644
+--- a/libgnucash/backend/sql/gnc-address-sql.cpp
++++ b/libgnucash/backend/sql/gnc-address-sql.cpp
+@@ -31,12 +31,12 @@ extern "C"
+ {
+ #include <config.h>
+
+-#include <glib.h>
+-
+ #include "gnc-engine.h"
+
+ #include "gncAddress.h"
+ }
++#include <glib.h>
++
+ #include <cstdlib>
+ #include <cstring>
+ #include <sstream>
+diff --git a/libgnucash/backend/sql/gnc-book-sql.cpp b/libgnucash/backend/sql/gnc-book-sql.cpp
+index d38487deb..580708f37 100644
+--- a/libgnucash/backend/sql/gnc-book-sql.cpp
++++ b/libgnucash/backend/sql/gnc-book-sql.cpp
+@@ -29,8 +29,6 @@ extern "C"
+ {
+ #include <config.h>
+
+-#include <glib.h>
+-
+ #include "qof.h"
+
+ #include "gnc-engine.h"
+@@ -42,6 +40,8 @@ extern "C"
+ #endif
+ }
+
++#include <glib.h>
++
+ #include "gnc-sql-connection.hpp"
+ #include "gnc-sql-backend.hpp"
+ #include "gnc-sql-object-backend.hpp"
+diff --git a/libgnucash/backend/sql/gnc-customer-sql.cpp b/libgnucash/backend/sql/gnc-customer-sql.cpp
+index 6d3d84a9c..7fbc5c83c 100644
+--- a/libgnucash/backend/sql/gnc-customer-sql.cpp
++++ b/libgnucash/backend/sql/gnc-customer-sql.cpp
+@@ -31,7 +31,6 @@ extern "C"
+ {
+ #include <config.h>
+
+-#include <glib.h>
+ #include <stdlib.h>
+ #include <string.h>
+
+@@ -40,6 +39,8 @@ extern "C"
+ #include "gncTaxTableP.h"
+ }
+
++#include <glib.h>
++
+ #include "gnc-sql-connection.hpp"
+ #include "gnc-sql-backend.hpp"
+ #include "gnc-sql-object-backend.hpp"
+diff --git a/libgnucash/backend/sql/gnc-employee-sql.cpp b/libgnucash/backend/sql/gnc-employee-sql.cpp
+index 20c7fb526..c5b17fdb7 100644
+--- a/libgnucash/backend/sql/gnc-employee-sql.cpp
++++ b/libgnucash/backend/sql/gnc-employee-sql.cpp
+@@ -31,13 +31,13 @@ extern "C"
+ {
+ #include <config.h>
+
+-#include <glib.h>
+ #include <stdlib.h>
+ #include <string.h>
+
+ #include "gnc-commodity.h"
+ #include "gncEmployeeP.h"
+ }
++#include <glib.h>
+
+ #include "gnc-sql-connection.hpp"
+ #include "gnc-sql-backend.hpp"
+diff --git a/libgnucash/backend/sql/gnc-entry-sql.cpp b/libgnucash/backend/sql/gnc-entry-sql.cpp
+index 554a50e6c..f7b9ef4a3 100644
+--- a/libgnucash/backend/sql/gnc-entry-sql.cpp
++++ b/libgnucash/backend/sql/gnc-entry-sql.cpp
+@@ -31,7 +31,6 @@ extern "C"
+ {
+ #include <config.h>
+
+-#include <glib.h>
+ #include <stdlib.h>
+ #include <string.h>
+
+@@ -40,6 +39,7 @@ extern "C"
+ #include "gncInvoiceP.h"
+ #include "gncTaxTableP.h"
+ }
++#include <glib.h>
+
+ #include "gnc-sql-connection.hpp"
+ #include "gnc-sql-backend.hpp"
+diff --git a/libgnucash/backend/sql/gnc-job-sql.cpp b/libgnucash/backend/sql/gnc-job-sql.cpp
+index c68827152..421992ffd 100644
+--- a/libgnucash/backend/sql/gnc-job-sql.cpp
++++ b/libgnucash/backend/sql/gnc-job-sql.cpp
+@@ -31,12 +31,12 @@ extern "C"
+ {
+ #include <config.h>
+
+-#include <glib.h>
+ #include <stdlib.h>
+ #include <string.h>
+
+ #include "gncJobP.h"
+ }
++#include <glib.h>
+
+ #include "gnc-sql-connection.hpp"
+ #include "gnc-sql-backend.hpp"
+diff --git a/libgnucash/backend/sql/gnc-price-sql.cpp b/libgnucash/backend/sql/gnc-price-sql.cpp
+index 1fcc5d5d9..95233b342 100644
+--- a/libgnucash/backend/sql/gnc-price-sql.cpp
++++ b/libgnucash/backend/sql/gnc-price-sql.cpp
+@@ -29,8 +29,6 @@ extern "C"
+ {
+ #include <config.h>
+
+-#include <glib.h>
+-
+ #include "qof.h"
+ #include "gnc-pricedb.h"
+
+@@ -38,6 +36,7 @@ extern "C"
+ #include "splint-defs.h"
+ #endif
+ }
++#include <glib.h>
+
+ #include "gnc-sql-connection.hpp"
+ #include "gnc-sql-backend.hpp"
+diff --git a/libgnucash/backend/sql/gnc-recurrence-sql.cpp b/libgnucash/backend/sql/gnc-recurrence-sql.cpp
+index 892b83d1a..3aa33e54a 100644
+--- a/libgnucash/backend/sql/gnc-recurrence-sql.cpp
++++ b/libgnucash/backend/sql/gnc-recurrence-sql.cpp
+@@ -29,8 +29,6 @@ extern "C"
+ {
+ #include <config.h>
+
+-#include <glib.h>
+-
+ #include "qof.h"
+ #include "gnc-engine.h"
+ #include "Recurrence.h"
+@@ -39,6 +37,7 @@ extern "C"
+ #include "splint-defs.h"
+ #endif
+ }
++#include <glib.h>
+
+ #include "gnc-sql-connection.hpp"
+ #include "gnc-sql-backend.hpp"
+diff --git a/libgnucash/backend/sql/gnc-schedxaction-sql.cpp b/libgnucash/backend/sql/gnc-schedxaction-sql.cpp
+index c883a9208..c9147ec3a 100644
+--- a/libgnucash/backend/sql/gnc-schedxaction-sql.cpp
++++ b/libgnucash/backend/sql/gnc-schedxaction-sql.cpp
+@@ -29,8 +29,6 @@ extern "C"
+ {
+ #include <config.h>
+
+-#include <glib.h>
+-
+ #include "qof.h"
+ #include "SchedXaction.h"
+ #include "SX-book.h"
+@@ -41,6 +39,8 @@ extern "C"
+ #endif
+ }
+
++#include <glib.h>
++
+ #include "gnc-sql-connection.hpp"
+ #include "gnc-sql-backend.hpp"
+ #include "gnc-sql-object-backend.hpp"
+diff --git a/libgnucash/backend/sql/gnc-vendor-sql.cpp b/libgnucash/backend/sql/gnc-vendor-sql.cpp
+index 11b27686d..57dd78b4a 100644
+--- a/libgnucash/backend/sql/gnc-vendor-sql.cpp
++++ b/libgnucash/backend/sql/gnc-vendor-sql.cpp
+@@ -30,8 +30,6 @@
+ extern "C"
+ {
+ #include <config.h>
+-
+-#include <glib.h>
+ #include <stdlib.h>
+ #include <string.h>
+
+@@ -41,6 +39,8 @@ extern "C"
+ #include "gncTaxTableP.h"
+ }
+
++#include <glib.h>
++
+ #include "gnc-sql-connection.hpp"
+ #include "gnc-sql-backend.hpp"
+ #include "gnc-sql-object-backend.hpp"
+diff --git a/libgnucash/backend/sql/test/test-sqlbe.cpp b/libgnucash/backend/sql/test/test-sqlbe.cpp
+index 644711df4..0a6191c3f 100644
+--- a/libgnucash/backend/sql/test/test-sqlbe.cpp
++++ b/libgnucash/backend/sql/test/test-sqlbe.cpp
+@@ -20,10 +20,11 @@
+ * Boston, MA 02110-1301, USA gnu@gnu.org *
+ \********************************************************************/
+
++#include <glib.h>
++
+ extern "C"
+ {
+ #include <config.h>
+-#include <glib.h>
+ #include "qof.h"
+ }
+ extern void test_suite_gnc_backend_sql ();
+diff --git a/libgnucash/backend/sql/test/utest-gnc-backend-sql.cpp b/libgnucash/backend/sql/test/utest-gnc-backend-sql.cpp
+index b89cde9a7..b7669f418 100644
+--- a/libgnucash/backend/sql/test/utest-gnc-backend-sql.cpp
++++ b/libgnucash/backend/sql/test/utest-gnc-backend-sql.cpp
+@@ -20,11 +20,12 @@
+ * 51 Franklin Street, Fifth Floor Fax: +1-617-542-2652 *
+ * Boston, MA 02110-1301, USA gnu@gnu.org *
+ ********************************************************************/
++#include <glib.h>
++
+ extern "C"
+ {
+ #include <config.h>
+ #include <string.h>
+-#include <glib.h>
+ #include <unittest-support.h>
+ }
+ /* Add specific headers for this class */
+diff --git a/libgnucash/backend/xml/gnc-account-xml-v2.cpp b/libgnucash/backend/xml/gnc-account-xml-v2.cpp
+index 4feb75fae..3647c036c 100644
+--- a/libgnucash/backend/xml/gnc-account-xml-v2.cpp
++++ b/libgnucash/backend/xml/gnc-account-xml-v2.cpp
+@@ -25,14 +25,14 @@
+ extern "C"
+ {
+ #include <config.h>
+-
+-#include <glib.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #include <AccountP.h>
+ #include <Account.h>
+ }
+
++#include <glib.h>
++
+ #include "gnc-xml-helper.h"
+ #include "sixtp.h"
+ #include "sixtp-utils.h"
+diff --git a/libgnucash/backend/xml/gnc-address-xml-v2.cpp b/libgnucash/backend/xml/gnc-address-xml-v2.cpp
+index 026e3e430..c3484f674 100644
+--- a/libgnucash/backend/xml/gnc-address-xml-v2.cpp
++++ b/libgnucash/backend/xml/gnc-address-xml-v2.cpp
+@@ -24,11 +24,11 @@
+ extern "C"
+ {
+ #include <config.h>
+-
+-#include <glib.h>
+ #include <stdlib.h>
+ #include <string.h>
+ }
++#include <glib.h>
++
+ #include "gnc-xml-helper.h"
+
+ #include "sixtp.h"
+diff --git a/libgnucash/backend/xml/gnc-backend-xml.cpp b/libgnucash/backend/xml/gnc-backend-xml.cpp
+index 10a0d7cd8..2acdf71a0 100644
+--- a/libgnucash/backend/xml/gnc-backend-xml.cpp
++++ b/libgnucash/backend/xml/gnc-backend-xml.cpp
+@@ -32,9 +32,6 @@ extern "C"
+ #include <config.h>
+
+
+-#include <glib.h>
+-#include <glib/gi18n.h>
+-#include <glib/gstdio.h>
+ #include <libintl.h>
+ #include <locale.h>
+ #include <fcntl.h>
+@@ -76,6 +73,10 @@ extern "C"
+ #endif
+ }
+
++#include <glib.h>
++#include <glib/gi18n.h>
++#include <glib/gstdio.h>
++
+ #include <gnc-backend-prov.hpp>
+ #include "gnc-backend-xml.h"
+ #include <qof-backend.hpp>
+diff --git a/libgnucash/backend/xml/gnc-bill-term-xml-v2.cpp b/libgnucash/backend/xml/gnc-bill-term-xml-v2.cpp
+index c61f042b9..06c6799f2 100644
+--- a/libgnucash/backend/xml/gnc-bill-term-xml-v2.cpp
++++ b/libgnucash/backend/xml/gnc-bill-term-xml-v2.cpp
+@@ -24,8 +24,6 @@
+ extern "C"
+ {
+ #include <config.h>
+-
+-#include <glib.h>
+ #include <stdlib.h>
+ #include <string.h>
+
+diff --git a/libgnucash/backend/xml/gnc-book-xml-v2.cpp b/libgnucash/backend/xml/gnc-book-xml-v2.cpp
+index e049eb787..2270b9527 100644
+--- a/libgnucash/backend/xml/gnc-book-xml-v2.cpp
++++ b/libgnucash/backend/xml/gnc-book-xml-v2.cpp
+@@ -25,13 +25,13 @@
+ extern "C"
+ {
+ #include <config.h>
+-
+-#include <glib.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #include "qof.h"
+ }
+
++#include <glib.h>
++
+ #include "gnc-xml-helper.h"
+
+ #include "sixtp.h"
+diff --git a/libgnucash/backend/xml/gnc-budget-xml-v2.cpp b/libgnucash/backend/xml/gnc-budget-xml-v2.cpp
+index b30d203f4..c39c6a0c7 100644
+--- a/libgnucash/backend/xml/gnc-budget-xml-v2.cpp
++++ b/libgnucash/backend/xml/gnc-budget-xml-v2.cpp
+@@ -24,12 +24,12 @@
+ extern "C"
+ {
+ #include <config.h>
+-
+-#include <glib.h>
+ #include <stdlib.h>
+ #include <string.h>
+ }
+
++#include <glib.h>
++
+ #include "gnc-xml-helper.h"
+ #include "sixtp.h"
+ #include "sixtp-utils.h"
+diff --git a/libgnucash/backend/xml/gnc-commodity-xml-v2.cpp b/libgnucash/backend/xml/gnc-commodity-xml-v2.cpp
+index e09950db2..dd04f2100 100644
+--- a/libgnucash/backend/xml/gnc-commodity-xml-v2.cpp
++++ b/libgnucash/backend/xml/gnc-commodity-xml-v2.cpp
+@@ -24,13 +24,13 @@
+ extern "C"
+ {
+ #include <config.h>
+-
+-#include <glib.h>
+ #include <string.h>
+ #include "AccountP.h"
+ #include "Account.h"
+ }
+
++#include <glib.h>
++
+ #include "gnc-xml-helper.h"
+ #include "sixtp.h"
+ #include "sixtp-utils.h"
+diff --git a/libgnucash/backend/xml/gnc-customer-xml-v2.cpp b/libgnucash/backend/xml/gnc-customer-xml-v2.cpp
+index dcaa9bff3..4396b7c15 100644
+--- a/libgnucash/backend/xml/gnc-customer-xml-v2.cpp
++++ b/libgnucash/backend/xml/gnc-customer-xml-v2.cpp
+@@ -24,8 +24,6 @@
+ extern "C"
+ {
+ #include <config.h>
+-
+-#include <glib.h>
+ #include <stdlib.h>
+ #include <string.h>
+
+@@ -34,6 +32,8 @@ extern "C"
+ #include "gncTaxTableP.h"
+ }
+
++#include <glib.h>
++
+ #include "gnc-xml-helper.h"
+ #include "gnc-customer-xml-v2.h"
+ #include "gnc-address-xml-v2.h"
+diff --git a/libgnucash/backend/xml/gnc-employee-xml-v2.cpp b/libgnucash/backend/xml/gnc-employee-xml-v2.cpp
+index 5eec282a8..eaae536a2 100644
+--- a/libgnucash/backend/xml/gnc-employee-xml-v2.cpp
++++ b/libgnucash/backend/xml/gnc-employee-xml-v2.cpp
+@@ -24,12 +24,11 @@
+ extern "C"
+ {
+ #include <config.h>
+-
+-#include <glib.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #include "gncEmployeeP.h"
+ }
++#include <glib.h>
+
+ #include "gnc-xml-helper.h"
+ #include "sixtp.h"
+diff --git a/libgnucash/backend/xml/gnc-entry-xml-v2.cpp b/libgnucash/backend/xml/gnc-entry-xml-v2.cpp
+index 25b88d935..df87a1f42 100644
+--- a/libgnucash/backend/xml/gnc-entry-xml-v2.cpp
++++ b/libgnucash/backend/xml/gnc-entry-xml-v2.cpp
+@@ -24,8 +24,6 @@
+ extern "C"
+ {
+ #include <config.h>
+-
+-#include <glib.h>
+ #include <stdlib.h>
+ #include <string.h>
+
+@@ -35,6 +33,8 @@ extern "C"
+ #include "gncTaxTableP.h"
+ }
+
++#include <glib.h>
++
+ #include "gnc-xml-helper.h"
+ #include "sixtp.h"
+ #include "sixtp-utils.h"
+diff --git a/libgnucash/backend/xml/gnc-freqspec-xml-v2.cpp b/libgnucash/backend/xml/gnc-freqspec-xml-v2.cpp
+index fe875f7ef..ec3edac8b 100644
+--- a/libgnucash/backend/xml/gnc-freqspec-xml-v2.cpp
++++ b/libgnucash/backend/xml/gnc-freqspec-xml-v2.cpp
+@@ -25,13 +25,12 @@
+ extern "C"
+ {
+ #include <config.h>
+-
+-#include <glib.h>
+ #include <string.h>
+ #include "qof.h"
+ #include "SchedXaction.h"
+ #include "FreqSpec.h"
+ }
++#include <glib.h>
+
+ #include "gnc-xml-helper.h"
+ #include "sixtp.h"
+diff --git a/libgnucash/backend/xml/gnc-invoice-xml-v2.cpp b/libgnucash/backend/xml/gnc-invoice-xml-v2.cpp
+index 333fbe5d4..3231198bc 100644
+--- a/libgnucash/backend/xml/gnc-invoice-xml-v2.cpp
++++ b/libgnucash/backend/xml/gnc-invoice-xml-v2.cpp
+@@ -24,14 +24,13 @@
+ extern "C"
+ {
+ #include <config.h>
+-
+-#include <glib.h>
+ #include <stdlib.h>
+ #include <string.h>
+
+ #include "gncBillTermP.h"
+ #include "gncInvoiceP.h"
+ }
++#include <glib.h>
+
+ #include "gnc-xml-helper.h"
+ #include "sixtp.h"
+diff --git a/libgnucash/backend/xml/gnc-job-xml-v2.cpp b/libgnucash/backend/xml/gnc-job-xml-v2.cpp
+index ba1ab367f..1132a996d 100644
+--- a/libgnucash/backend/xml/gnc-job-xml-v2.cpp
++++ b/libgnucash/backend/xml/gnc-job-xml-v2.cpp
+@@ -24,12 +24,11 @@
+ extern "C"
+ {
+ #include <config.h>
+-
+-#include <glib.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #include "gncJobP.h"
+ }
++#include <glib.h>
+
+ #include "gnc-xml-helper.h"
+ #include "sixtp.h"
+diff --git a/libgnucash/backend/xml/gnc-lot-xml-v2.cpp b/libgnucash/backend/xml/gnc-lot-xml-v2.cpp
+index 8bccae722..d42a5b4b7 100644
+--- a/libgnucash/backend/xml/gnc-lot-xml-v2.cpp
++++ b/libgnucash/backend/xml/gnc-lot-xml-v2.cpp
+@@ -25,13 +25,12 @@
+ extern "C"
+ {
+ #include <config.h>
+-
+-#include <glib.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #include "gnc-lot.h"
+ #include "gnc-lot-p.h"
+ }
++#include <glib.h>
+
+ #include "gnc-xml-helper.h"
+ #include "sixtp.h"
+diff --git a/libgnucash/backend/xml/gnc-order-xml-v2.cpp b/libgnucash/backend/xml/gnc-order-xml-v2.cpp
+index 0b45ff9f0..3b95d6ce0 100644
+--- a/libgnucash/backend/xml/gnc-order-xml-v2.cpp
++++ b/libgnucash/backend/xml/gnc-order-xml-v2.cpp
+@@ -24,12 +24,11 @@
+ extern "C"
+ {
+ #include <config.h>
+-
+-#include <glib.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #include "gncOrderP.h"
+ }
++#include <glib.h>
+
+ #include "gnc-xml-helper.h"
+ #include "sixtp.h"
+diff --git a/libgnucash/backend/xml/gnc-owner-xml-v2.cpp b/libgnucash/backend/xml/gnc-owner-xml-v2.cpp
+index c9fc9ba98..42931c3e7 100644
+--- a/libgnucash/backend/xml/gnc-owner-xml-v2.cpp
++++ b/libgnucash/backend/xml/gnc-owner-xml-v2.cpp
+@@ -24,8 +24,6 @@
+ extern "C"
+ {
+ #include <config.h>
+-
+-#include <glib.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #include "gncCustomerP.h"
+@@ -33,6 +31,7 @@ extern "C"
+ #include "gncVendorP.h"
+ #include "gncEmployeeP.h"
+ }
++#include <glib.h>
+
+ #include "gnc-xml-helper.h"
+ #include "sixtp.h"
+diff --git a/libgnucash/backend/xml/gnc-recurrence-xml-v2.cpp b/libgnucash/backend/xml/gnc-recurrence-xml-v2.cpp
+index e2dd884d7..b67e24b07 100644
+--- a/libgnucash/backend/xml/gnc-recurrence-xml-v2.cpp
++++ b/libgnucash/backend/xml/gnc-recurrence-xml-v2.cpp
+@@ -24,12 +24,11 @@
+ extern "C"
+ {
+ #include <config.h>
+-
+-#include <glib.h>
+ #include <string.h>
+ #include "qof.h"
+ #include "Recurrence.h"
+ }
++#include <glib.h>
+
+ #include "gnc-xml.h"
+ #include "gnc-xml-helper.h"
+diff --git a/libgnucash/backend/xml/gnc-schedxaction-xml-v2.cpp b/libgnucash/backend/xml/gnc-schedxaction-xml-v2.cpp
+index cb104e1a0..195f5a738 100644
+--- a/libgnucash/backend/xml/gnc-schedxaction-xml-v2.cpp
++++ b/libgnucash/backend/xml/gnc-schedxaction-xml-v2.cpp
+@@ -23,12 +23,11 @@
+ extern "C"
+ {
+ #include <config.h>
+-
+-#include <glib.h>
+ #include <string.h>
+
+ #include "SX-book.h"
+ }
++#include <glib.h>
+
+ #include "gnc-xml-helper.h"
+ #include "sixtp.h"
+diff --git a/libgnucash/backend/xml/gnc-tax-table-xml-v2.cpp b/libgnucash/backend/xml/gnc-tax-table-xml-v2.cpp
+index b9206a626..b8e602fa4 100644
+--- a/libgnucash/backend/xml/gnc-tax-table-xml-v2.cpp
++++ b/libgnucash/backend/xml/gnc-tax-table-xml-v2.cpp
+@@ -24,13 +24,12 @@
+ extern "C"
+ {
+ #include <config.h>
+-
+-#include <glib.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #include "gncEntry.h"
+ #include "gncTaxTableP.h"
+ }
++#include <glib.h>
+
+ #include "gnc-xml-helper.h"
+ #include "sixtp.h"
+diff --git a/libgnucash/backend/xml/gnc-transaction-xml-v2.cpp b/libgnucash/backend/xml/gnc-transaction-xml-v2.cpp
+index b4aad7309..560c0d0c6 100644
+--- a/libgnucash/backend/xml/gnc-transaction-xml-v2.cpp
++++ b/libgnucash/backend/xml/gnc-transaction-xml-v2.cpp
+@@ -24,8 +24,6 @@
+ extern "C"
+ {
+ #include <config.h>
+-
+-#include <glib.h>
+ #include <string.h>
+ #include "AccountP.h"
+ #include "Transaction.h"
+@@ -33,6 +31,7 @@ extern "C"
+ #include "gnc-lot.h"
+ #include "gnc-lot-p.h"
+ }
++#include <glib.h>
+ #include "gnc-xml-helper.h"
+
+ #include "sixtp.h"
+diff --git a/libgnucash/backend/xml/gnc-vendor-xml-v2.cpp b/libgnucash/backend/xml/gnc-vendor-xml-v2.cpp
+index 983e4f258..e88fe7932 100644
+--- a/libgnucash/backend/xml/gnc-vendor-xml-v2.cpp
++++ b/libgnucash/backend/xml/gnc-vendor-xml-v2.cpp
+@@ -24,8 +24,6 @@
+ extern "C"
+ {
+ #include <config.h>
+-
+-#include <glib.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #include "gncBillTermP.h"
+@@ -33,6 +31,7 @@ extern "C"
+ #include "gncTaxTableP.h"
+ }
+
++#include <glib.h>
+ #include "gnc-xml-helper.h"
+ #include "sixtp.h"
+ #include "sixtp-utils.h"
+diff --git a/libgnucash/backend/xml/gnc-xml-backend.cpp b/libgnucash/backend/xml/gnc-xml-backend.cpp
+index dc3bbb19b..73c2cda4c 100644
+--- a/libgnucash/backend/xml/gnc-xml-backend.cpp
++++ b/libgnucash/backend/xml/gnc-xml-backend.cpp
+@@ -27,8 +27,6 @@ extern "C"
+ #include <unistd.h>
+ #include <fcntl.h>
+ #include <sys/stat.h>
+-#include <glib.h>
+-#include <glib/gstdio.h>
+ #include <regex.h>
+
+ #include <gnc-engine.h> //for GNC_MOD_BACKEND
+@@ -38,6 +36,8 @@ extern "C"
+
+ }
+
++#include <glib.h>
++#include <glib/gstdio.h>
+ #include <sstream>
+
+ #include "gnc-xml-backend.hpp"
+diff --git a/libgnucash/backend/xml/gnc-xml-helper.cpp b/libgnucash/backend/xml/gnc-xml-helper.cpp
+index 61df6c2e4..2e4dd8153 100644
+--- a/libgnucash/backend/xml/gnc-xml-helper.cpp
++++ b/libgnucash/backend/xml/gnc-xml-helper.cpp
+@@ -21,10 +21,7 @@
+ * Boston, MA 02110-1301, USA gnu@gnu.org *
+ * *
+ \********************************************************************/
+-extern "C"
+-{
+ #include <glib.h>
+-}
+
+ #include "gnc-xml-helper.h"
+
+diff --git a/libgnucash/backend/xml/gnc-xml-helper.h b/libgnucash/backend/xml/gnc-xml-helper.h
+index 601f89bcd..6c0f91d8d 100644
+--- a/libgnucash/backend/xml/gnc-xml-helper.h
++++ b/libgnucash/backend/xml/gnc-xml-helper.h
+@@ -24,6 +24,9 @@
+
+ #ifndef GNC_XML_HELPER_H
+ #define GNC_XML_HELPER_H
++
++#include <glib.h>
++
+ extern "C"
+ {
+ #include <libxml/xmlversion.h>
+diff --git a/libgnucash/backend/xml/io-example-account.cpp b/libgnucash/backend/xml/io-example-account.cpp
+index 918217ee4..a9b4be190 100644
+--- a/libgnucash/backend/xml/io-example-account.cpp
++++ b/libgnucash/backend/xml/io-example-account.cpp
+@@ -41,9 +41,6 @@ extern "C"
+ # include <unistd.h>
+ #endif
+
+-#include <glib.h>
+-#include <glib/gi18n.h>
+-#include <glib/gstdio.h>
+ #include "gnc-engine.h"
+ #include "Scrub.h"
+ #include "TransLog.h"
+@@ -53,6 +50,9 @@ extern "C"
+ #endif
+ }
+
++#include <glib.h>
++#include <glib/gi18n.h>
++#include <glib/gstdio.h>
+ #include "sixtp.h"
+
+ #include "gnc-xml.h"
+diff --git a/libgnucash/backend/xml/io-gncxml-gen.h b/libgnucash/backend/xml/io-gncxml-gen.h
+index 5ad7b8eeb..dc1e7f660 100644
+--- a/libgnucash/backend/xml/io-gncxml-gen.h
++++ b/libgnucash/backend/xml/io-gncxml-gen.h
+@@ -24,10 +24,8 @@
+
+ #ifndef IO_GNCXML_GEN_H
+ #define IO_GNCXML_GEN_H
+-extern "C"
+-{
++
+ #include <glib.h>
+-}
+
+ #include "sixtp.h"
+
+diff --git a/libgnucash/backend/xml/io-gncxml-v2.cpp b/libgnucash/backend/xml/io-gncxml-v2.cpp
+index 7f7fc900f..1b6e22532 100644
+--- a/libgnucash/backend/xml/io-gncxml-v2.cpp
++++ b/libgnucash/backend/xml/io-gncxml-v2.cpp
+@@ -36,8 +36,6 @@ extern "C"
+ #endif
+ #include <windows.h>
+ #endif
+-#include <glib.h>
+-#include <glib/gstdio.h>
+ #include <fcntl.h>
+ #include <string.h>
+ #ifdef HAVE_UNISTD_H
+@@ -66,6 +64,9 @@ extern "C"
+ #endif
+ }
+
++#include <glib.h>
++#include <glib/gstdio.h>
++
+ #include "gnc-xml-backend.hpp"
+ #include "sixtp-parsers.h"
+ #include "sixtp-utils.h"
+diff --git a/libgnucash/backend/xml/io-utils.cpp b/libgnucash/backend/xml/io-utils.cpp
+index 8d9cbfe44..ca2f7e203 100644
+--- a/libgnucash/backend/xml/io-utils.cpp
++++ b/libgnucash/backend/xml/io-utils.cpp
+@@ -26,9 +26,9 @@ extern "C"
+ #include <config.h>
+
+ #include <stdio.h>
++}
+
+ #include <glib.h>
+-}
+
+ #include "gnc-xml.h"
+ #include "io-utils.h"
+diff --git a/libgnucash/backend/xml/sixtp-dom-generators.cpp b/libgnucash/backend/xml/sixtp-dom-generators.cpp
+index d8a58eda0..0b9a914a2 100644
+--- a/libgnucash/backend/xml/sixtp-dom-generators.cpp
++++ b/libgnucash/backend/xml/sixtp-dom-generators.cpp
+@@ -25,10 +25,10 @@ extern "C"
+ #define __EXTENSIONS__
+
+ #include <config.h>
+-#include <glib.h>
+
+ #include <gnc-date.h>
+ }
++#include <glib.h>
+
+ #include "gnc-xml-helper.h"
+ #include "sixtp-dom-generators.h"
+diff --git a/libgnucash/backend/xml/sixtp-dom-parsers.cpp b/libgnucash/backend/xml/sixtp-dom-parsers.cpp
+index 776290396..9b05f4883 100644
+--- a/libgnucash/backend/xml/sixtp-dom-parsers.cpp
++++ b/libgnucash/backend/xml/sixtp-dom-parsers.cpp
+@@ -24,13 +24,13 @@ extern "C"
+ {
+ #include <config.h>
+
+-#include <glib.h>
+ #include <string.h>
+
+-#include "gnc-xml-helper.h"
+ #include <gnc-engine.h>
+ }
+
++#include <glib.h>
++#include "gnc-xml-helper.h"
+ #include "sixtp-utils.h"
+ #include "sixtp-dom-parsers.h"
+ #include <kvp-frame.hpp>
+diff --git a/libgnucash/backend/xml/sixtp-to-dom-parser.cpp b/libgnucash/backend/xml/sixtp-to-dom-parser.cpp
+index 9aba0801a..277a6f867 100644
+--- a/libgnucash/backend/xml/sixtp-to-dom-parser.cpp
++++ b/libgnucash/backend/xml/sixtp-to-dom-parser.cpp
+@@ -23,12 +23,11 @@
+ extern "C"
+ {
+ #include <config.h>
+-
+-#include <glib.h>
+-
+ #include <ctype.h>
+ }
+
++#include <glib.h>
++
+ #include "sixtp-parsers.h"
+ #include "sixtp-utils.h"
+ #include "sixtp.h"
+diff --git a/libgnucash/backend/xml/sixtp.cpp b/libgnucash/backend/xml/sixtp.cpp
+index 95f499514..d231efa40 100644
+--- a/libgnucash/backend/xml/sixtp.cpp
++++ b/libgnucash/backend/xml/sixtp.cpp
+@@ -23,9 +23,6 @@
+ extern "C"
+ {
+ #include <config.h>
+-
+-#include <glib.h>
+-#include <glib/gstdio.h>
+ #include <string.h>
+ #include <ctype.h>
+ #include <stdarg.h>
+@@ -37,6 +34,9 @@ extern "C"
+ #endif
+ }
+
++#include <glib.h>
++#include <glib/gstdio.h>
++
+ #include "sixtp.h"
+ #include "sixtp-parsers.h"
+ #include "sixtp-stack.h"
+diff --git a/libgnucash/backend/xml/sixtp.h b/libgnucash/backend/xml/sixtp.h
+index 5aa799235..585a42ac1 100644
+--- a/libgnucash/backend/xml/sixtp.h
++++ b/libgnucash/backend/xml/sixtp.h
+@@ -25,12 +25,12 @@
+ #define SIXTP_H
+ extern "C"
+ {
+-#include <glib.h>
+ #include <stdio.h>
+
+ #include <stdarg.h>
+ #include "gnc-engine.h"
+ }
++#include <glib.h>
+ #include "gnc-xml-helper.h"
+ #include "gnc-backend-xml.h"
+
+diff --git a/libgnucash/backend/xml/test/test-dom-converters1.cpp b/libgnucash/backend/xml/test/test-dom-converters1.cpp
+index fe6336841..02c31dfe6 100644
+--- a/libgnucash/backend/xml/test/test-dom-converters1.cpp
++++ b/libgnucash/backend/xml/test/test-dom-converters1.cpp
+@@ -21,21 +21,22 @@
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
+ */
++#include <glib.h>
++
+ extern "C"
+ {
+ #include <config.h>
+
+-#include <stdlib.h>
+ #include <string.h>
+
+-#include <glib.h>
+-
+ #include "test-engine-stuff.h"
+ #include "cashobjects.h"
+ #include "gnc-engine.h"
+ #include "gnc-commodity.h"
+ }
+
++#include <cstdlib>
++
+ #include "test-file-stuff.h"
+ #include "gnc-xml-helper.h"
+ #include "sixtp.h"
+diff --git a/libgnucash/backend/xml/test/test-dom-parser1.cpp b/libgnucash/backend/xml/test/test-dom-parser1.cpp
+index 59933a4c5..28de9542c 100644
+--- a/libgnucash/backend/xml/test/test-dom-parser1.cpp
++++ b/libgnucash/backend/xml/test/test-dom-parser1.cpp
+@@ -17,18 +17,19 @@
+ * Boston, MA 02110-1301, USA gnu@gnu.org *
+ * *
+ \********************************************************************/
++#include <glib.h>
++
+ extern "C"
+ {
+ #include <config.h>
+
+-#include <stdlib.h>
+ #include <string.h>
+
+-#include <glib.h>
+-
+ #include "test-stuff.h"
+ }
+
++#include <cstdlib>
++
+ #include "gnc-xml-helper.h"
+ #include "sixtp.h"
+ #include "sixtp-parsers.h"
+diff --git a/libgnucash/backend/xml/test/test-file-stuff.cpp b/libgnucash/backend/xml/test/test-file-stuff.cpp
+index 1ba6e974e..0264c8122 100644
+--- a/libgnucash/backend/xml/test/test-file-stuff.cpp
++++ b/libgnucash/backend/xml/test/test-file-stuff.cpp
+@@ -21,6 +21,8 @@
+ * 02110-1301, USA.
+ */
+ #include <kvp-frame.hpp>
++#include <glib.h>
++#include <glib/gstdio.h>
+
+ extern "C"
+ {
+@@ -31,15 +33,14 @@ extern "C"
+ #include <sys/stat.h>
+ #include <dirent.h>
+ #include <fcntl.h>
+-#include <stdlib.h>
+ #include <string.h>
+-#include <glib.h>
+-#include <glib/gstdio.h>
+
+ #include "gnc-engine.h"
+ #include "test-stuff.h"
+ }
+
++#include <cstdlib>
++
+ #include "test-file-stuff.h"
+ #include "sixtp-dom-parsers.h"
+ #include "sixtp-parsers.h"
+diff --git a/libgnucash/backend/xml/test/test-file-stuff.h b/libgnucash/backend/xml/test/test-file-stuff.h
+index fd9e00ea3..158d8cddf 100644
+--- a/libgnucash/backend/xml/test/test-file-stuff.h
++++ b/libgnucash/backend/xml/test/test-file-stuff.h
+@@ -24,10 +24,10 @@
+
+ #ifndef TEST_FILE_STUFF_H
+ #define TEST_FILE_STUFF_H
+-extern "C"
+-{
+ #include <glib.h>
+
++extern "C"
++{
+ #include <gnc-commodity.h>
+ #include <gnc-engine.h>
+ }
+diff --git a/libgnucash/backend/xml/test/test-load-example-account.cpp b/libgnucash/backend/xml/test/test-load-example-account.cpp
+index af0c43777..3596a7cad 100644
+--- a/libgnucash/backend/xml/test/test-load-example-account.cpp
++++ b/libgnucash/backend/xml/test/test-load-example-account.cpp
+@@ -20,12 +20,12 @@
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
+ */
++#include <glib.h>
++
+ extern "C"
+ {
+ #include <config.h>
+-#include <glib.h>
+ #include <string.h>
+-#include <stdlib.h>
+ #include <stdio.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+@@ -36,6 +36,8 @@ extern "C"
+ #include "test-engine-stuff.h"
+ }
+
++#include <cstdlib>
++
+ #include "test-file-stuff.h"
+ #include "io-gncxml-v2.h"
+
+diff --git a/libgnucash/backend/xml/test/test-load-xml2.cpp b/libgnucash/backend/xml/test/test-load-xml2.cpp
+index f1e3cfdff..945470078 100644
+--- a/libgnucash/backend/xml/test/test-load-xml2.cpp
++++ b/libgnucash/backend/xml/test/test-load-xml2.cpp
+@@ -25,6 +25,10 @@
+ /* @file test-load-xml2.c
+ * @brief test the loading of a version-2 gnucash XML file
+ */
++#include <glib.h>
++#include <glib-object.h>
++#include <glib/gstdio.h>
++
+ extern "C"
+ {
+ #include <config.h>
+@@ -36,9 +40,6 @@ extern "C"
+ #include <unistd.h>
+ #include <dirent.h>
+ #include <string.h>
+-#include <glib.h>
+-#include <glib-object.h>
+-#include <glib/gstdio.h>
+
+ #include <cashobjects.h>
+ #include <TransLog.h>
+diff --git a/libgnucash/backend/xml/test/test-save-in-lang.cpp b/libgnucash/backend/xml/test/test-save-in-lang.cpp
+index 8501a7c88..78cc644b6 100644
+--- a/libgnucash/backend/xml/test/test-save-in-lang.cpp
++++ b/libgnucash/backend/xml/test/test-save-in-lang.cpp
+@@ -17,17 +17,17 @@
+ * Boston, MA 02110-1301, USA gnu@gnu.org *
+ * *
+ \********************************************************************/
++#include <glib.h>
++#include <glib/gstdio.h>
++
+ extern "C"
+ {
+ #include <config.h>
+-#include <glib.h>
+-#include <glib/gstdio.h>
+ #include <unistd.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <dirent.h>
+ #include <errno.h>
+-#include <stdlib.h>
+ #include <string.h>
+
+ #include "test-engine-stuff.h"
+@@ -36,6 +36,8 @@ extern "C"
+ #include "TransLog.h"
+ }
+
++#include <cstdlib>
++
+ #include "test-file-stuff.h"
+ #include "io-gncxml-v2.h"
+ #include "test-stuff.h"
+diff --git a/libgnucash/backend/xml/test/test-xml-account.cpp b/libgnucash/backend/xml/test/test-xml-account.cpp
+index d336ec237..ee90e5901 100644
+--- a/libgnucash/backend/xml/test/test-xml-account.cpp
++++ b/libgnucash/backend/xml/test/test-xml-account.cpp
+@@ -21,13 +21,13 @@
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
+ */
++#include <glib.h>
++#include <glib/gstdio.h>
++
+ extern "C"
+ {
+ #include <config.h>
+
+-#include <glib.h>
+-#include <glib/gstdio.h>
+-#include <stdlib.h>
+ #include <unistd.h>
+ #include <gnc-engine.h>
+ #include <cashobjects.h>
+@@ -39,6 +39,8 @@ extern "C"
+ #include "Scrub.h"
+ }
+
++#include <cstdlib>
++
+ #include "../gnc-xml-helper.h"
+ #include "../gnc-xml.h"
+ #include "../sixtp-parsers.h"
+diff --git a/libgnucash/backend/xml/test/test-xml-commodity.cpp b/libgnucash/backend/xml/test/test-xml-commodity.cpp
+index 6ff7e7656..5deeeed9d 100644
+--- a/libgnucash/backend/xml/test/test-xml-commodity.cpp
++++ b/libgnucash/backend/xml/test/test-xml-commodity.cpp
+@@ -17,13 +17,13 @@
+ * Boston, MA 02110-1301, USA gnu@gnu.org *
+ * *
+ \********************************************************************/
++#include <glib.h>
++#include <glib/gstdio.h>
++
+ extern "C"
+ {
+ #include <config.h>
+
+-#include <glib.h>
+-#include <glib/gstdio.h>
+-#include <stdlib.h>
+ #include <unistd.h>
+
+ #include "qof.h"
+@@ -32,6 +32,8 @@ extern "C"
+ #include "Account.h"
+ }
+
++#include <cstdlib>
++
+ #include "gnc-xml-helper.h"
+ #include "gnc-xml.h"
+ #include "sixtp-parsers.h"
+diff --git a/libgnucash/backend/xml/test/test-xml-pricedb.cpp b/libgnucash/backend/xml/test/test-xml-pricedb.cpp
+index 4660084f7..7bf5afe92 100644
+--- a/libgnucash/backend/xml/test/test-xml-pricedb.cpp
++++ b/libgnucash/backend/xml/test/test-xml-pricedb.cpp
+@@ -21,12 +21,13 @@
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
+ */
++#include <glib.h>
++#include <glib/gstdio.h>
++
+ extern "C"
+ {
+ #include <config.h>
+
+-#include <glib.h>
+-#include <glib/gstdio.h>
+ #include <stdlib.h>
+ #include <unistd.h>
+
+diff --git a/libgnucash/backend/xml/test/test-xml-transaction.cpp b/libgnucash/backend/xml/test/test-xml-transaction.cpp
+index 238920682..54a22262a 100644
+--- a/libgnucash/backend/xml/test/test-xml-transaction.cpp
++++ b/libgnucash/backend/xml/test/test-xml-transaction.cpp
+@@ -21,12 +21,13 @@
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
+ */
++#include <glib.h>
++#include <glib/gstdio.h>
++
+ extern "C"
+ {
+ #include <config.h>
+
+-#include <glib.h>
+-#include <glib/gstdio.h>
+ #include <stdlib.h>
+ #include <unistd.h>
+
+diff --git a/libgnucash/backend/xml/test/test-xml2-is-file.cpp b/libgnucash/backend/xml/test/test-xml2-is-file.cpp
+index 8b698f45e..82ff4526d 100644
+--- a/libgnucash/backend/xml/test/test-xml2-is-file.cpp
++++ b/libgnucash/backend/xml/test/test-xml2-is-file.cpp
+@@ -22,10 +22,9 @@ extern "C"
+ #include <config.h>
+ #include <stdlib.h>
+ #include <string.h>
+-
+-#include "test-engine-stuff.h"
+ }
+
++#include "test-engine-stuff.h"
+ #include "io-gncxml-v2.h"
+ #include "test-file-stuff.h"
+ #include "test-stuff.h"
+diff --git a/libgnucash/core-utils/gnc-filepath-utils.cpp b/libgnucash/core-utils/gnc-filepath-utils.cpp
+index da1bf5189..a6446ba72 100644
+--- a/libgnucash/core-utils/gnc-filepath-utils.cpp
++++ b/libgnucash/core-utils/gnc-filepath-utils.cpp
+@@ -26,6 +26,11 @@
+ * @author Copyright (c) 2000 Dave Peticolas
+ */
+
++#include <glib.h>
++#include <glib/gi18n.h>
++#include <glib/gprintf.h>
++#include <glib/gstdio.h>
++
+ extern "C" {
+ #include <config.h>
+
+@@ -35,10 +40,6 @@ extern "C" {
+ #include <Shlobj.h>
+ #endif
+
+-#include <glib.h>
+-#include <glib/gi18n.h>
+-#include <glib/gprintf.h>
+-#include <glib/gstdio.h>
+
+ #include <stdlib.h>
+ #include <stdio.h>
+diff --git a/libgnucash/core-utils/gnc-locale-utils.cpp b/libgnucash/core-utils/gnc-locale-utils.cpp
+index 10574c210..c73a02dd5 100644
+--- a/libgnucash/core-utils/gnc-locale-utils.cpp
++++ b/libgnucash/core-utils/gnc-locale-utils.cpp
+@@ -19,10 +19,7 @@
+ * 51 Franklin Street, Fifth Floor Fax: +1-617-542-2652 *
+ * Boston, MA 02110-1301, USA gnu@gnu.org *
+ \********************************************************************/
+-extern "C"
+-{
+ #include <glib.h>
+-}
+ #include <clocale>
+ #include <boost/locale.hpp>
+ #include "gnc-locale-utils.hpp"
+diff --git a/libgnucash/core-utils/gnc-prefs.h b/libgnucash/core-utils/gnc-prefs.h
+index b18d1e079..7d7a104d0 100644
+--- a/libgnucash/core-utils/gnc-prefs.h
++++ b/libgnucash/core-utils/gnc-prefs.h
+@@ -45,7 +45,11 @@
+ #ifndef GNC_PREFS_H
+ #define GNC_PREFS_H
+
++#ifdef __cplusplus
++extern "C++" {
+ #include <glib.h>
++}
++#endif
+
+ /* Preference groups used across multiple modules */
+ #define GNC_PREFS_GROUP_GENERAL "general"
+diff --git a/libgnucash/core-utils/test/gtest-path-utilities.cpp b/libgnucash/core-utils/test/gtest-path-utilities.cpp
+index 94e83566f..d7210007b 100644
+--- a/libgnucash/core-utils/test/gtest-path-utilities.cpp
++++ b/libgnucash/core-utils/test/gtest-path-utilities.cpp
+@@ -1,7 +1,8 @@
++#include <glib.h>
++
+ extern "C"
+ {
+ #include <config.h>
+-#include <glib.h>
+ #include <gncla-dir.h>
+ #include <gnc-path.h>
+ #include <binreloc.h>
+diff --git a/libgnucash/engine/SX-book.h b/libgnucash/engine/SX-book.h
+index 0b674ebd3..111aaceaf 100644
+--- a/libgnucash/engine/SX-book.h
++++ b/libgnucash/engine/SX-book.h
+@@ -42,7 +42,11 @@
+ typedef struct xaccSchedXactionsDef SchedXactions;
+ typedef struct _SchedXactionsClass SchedXactionsClass;
+
++#ifdef __cplusplus
++extern "C++" {
+ #include <glib.h>
++}
++#endif
+ #include "SchedXaction.h"
+ #include "qof.h"
+
+diff --git a/libgnucash/engine/engine-helpers.h b/libgnucash/engine/engine-helpers.h
+index 4b3abe6ee..517d4e148 100644
+--- a/libgnucash/engine/engine-helpers.h
++++ b/libgnucash/engine/engine-helpers.h
+@@ -25,7 +25,11 @@
+ #ifndef ENGINE_HELPERS_H
+ #define ENGINE_HELPERS_H
+
++#ifdef __cplusplus
++extern "C++" {
+ #include <glib.h>
++}
++#endif
+
+ #include "gnc-engine.h"
+ #include "Account.h"
+diff --git a/libgnucash/engine/gnc-commodity.h b/libgnucash/engine/gnc-commodity.h
+index 1f20a7189..afb18fee3 100644
+--- a/libgnucash/engine/gnc-commodity.h
++++ b/libgnucash/engine/gnc-commodity.h
+@@ -49,8 +49,13 @@
+ typedef struct _GncCommodityClass gnc_commodityClass;
+ typedef struct _GncCommodityNamespaceClass gnc_commodity_namespaceClass;
+
++#ifdef __cplusplus
++extern "C++" {
+ #include <glib.h>
+ #include <glib/gi18n.h>
++}
++#endif
++
+ #include "gnc-engine.h"
+
+ #ifdef __cplusplus
+diff --git a/libgnucash/engine/gnc-date.cpp b/libgnucash/engine/gnc-date.cpp
+index 5cdf3a655..2f48aa91f 100644
+--- a/libgnucash/engine/gnc-date.cpp
++++ b/libgnucash/engine/gnc-date.cpp
+@@ -26,11 +26,11 @@
+ \********************************************************************/
+
+ #define __EXTENSIONS__
++#include <glib.h>
+ extern "C"
+ {
+
+ #include <config.h>
+-#include <glib.h>
+ #include <libintl.h>
+ #include <stdlib.h>
+ #include "platform.h"
+diff --git a/libgnucash/engine/gnc-date.h b/libgnucash/engine/gnc-date.h
+index b911fa58b..7556fd1c6 100644
+--- a/libgnucash/engine/gnc-date.h
++++ b/libgnucash/engine/gnc-date.h
+@@ -68,12 +68,21 @@
+
+ #ifndef GNC_DATE_H
+ #define GNC_DATE_H
++
++
+ #ifdef __cplusplus
+ extern "C"
+ {
+ #endif
+-
++
++#ifdef __cplusplus
++extern "C++" {
++#endif
+ #include <glib-object.h>
++#ifdef __cplusplus
++}
++#endif
++
+ #include <time.h>
+
+ /**
+diff --git a/libgnucash/engine/gnc-engine.h b/libgnucash/engine/gnc-engine.h
+index 651cf44e5..80aa8b4c2 100644
+--- a/libgnucash/engine/gnc-engine.h
++++ b/libgnucash/engine/gnc-engine.h
+@@ -36,7 +36,12 @@
+ #ifndef GNC_ENGINE_H
+ #define GNC_ENGINE_H
+
++#ifdef __cplusplus
++extern "C++" {
+ #include <glib.h>
++}
++#endif
++
+ #include "qof.h"
+
+ #ifdef __cplusplus
+diff --git a/libgnucash/engine/gnc-numeric.cpp b/libgnucash/engine/gnc-numeric.cpp
+index 5e6773847..040845a31 100644
+--- a/libgnucash/engine/gnc-numeric.cpp
++++ b/libgnucash/engine/gnc-numeric.cpp
+@@ -26,7 +26,6 @@ extern "C"
+ {
+ #include <config.h>
+
+-#include <glib.h>
+ #include <math.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+@@ -35,6 +34,7 @@ extern "C"
+ #include "qof.h"
+ }
+
++#include <glib.h>
+ #include <stdint.h>
+ #include <boost/regex.hpp>
+ #include <boost/locale/encoding_utf.hpp>
+diff --git a/libgnucash/engine/gncBusiness.h b/libgnucash/engine/gncBusiness.h
+index a0190e242..1b7ce063b 100644
+--- a/libgnucash/engine/gncBusiness.h
++++ b/libgnucash/engine/gncBusiness.h
+@@ -34,7 +34,11 @@
+ #ifndef GNC_BUSINESS_H_
+ #define GNC_BUSINESS_H_
+
++#ifdef __cplusplus
++extern "C++" {
+ #include <glib.h>
++}
++#endif
+ #include "qof.h"
+ #include "Account.h"
+
+diff --git a/libgnucash/engine/gncEntry.h b/libgnucash/engine/gncEntry.h
+index d1d850fea..8c8c82e11 100644
+--- a/libgnucash/engine/gncEntry.h
++++ b/libgnucash/engine/gncEntry.h
+@@ -31,6 +31,12 @@
+ #ifndef GNC_ENTRY_H_
+ #define GNC_ENTRY_H_
+
++#ifdef __cplusplus
++extern "C++" {
++#include <glib.h>
++}
++#endif
++
+ typedef struct _gncEntry GncEntry;
+ typedef struct _gncEntryClass GncEntryClass;
+
+diff --git a/libgnucash/engine/guid.h b/libgnucash/engine/guid.h
+index 918b75a78..f43f194d1 100644
+--- a/libgnucash/engine/guid.h
++++ b/libgnucash/engine/guid.h
+@@ -25,13 +25,13 @@
+ #ifndef GUID_H
+ #define GUID_H
+
++#include <glib-object.h>
+ #ifdef __cplusplus
+ extern "C"
+ {
+ #endif
+
+ #include <stddef.h>
+-#include <glib-object.h>
+
+ /** @addtogroup Entity
+ @{ */
+diff --git a/libgnucash/engine/qof-string-cache.cpp b/libgnucash/engine/qof-string-cache.cpp
+index caba239fb..738bbf063 100644
+--- a/libgnucash/engine/qof-string-cache.cpp
++++ b/libgnucash/engine/qof-string-cache.cpp
+@@ -31,12 +31,13 @@ extern "C"
+ #include <config.h>
+
+ #include <ctype.h>
+-#include <glib.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #include "qof.h"
+ }
+
++#include <glib.h>
++
+ /* Uncomment if you need to log anything.
+ static QofLogModule log_module = QOF_MOD_UTIL;
+ */
+diff --git a/libgnucash/engine/qof.h b/libgnucash/engine/qof.h
+index 08baaeabb..ac3fbf569 100644
+--- a/libgnucash/engine/qof.h
++++ b/libgnucash/engine/qof.h
+@@ -68,7 +68,11 @@
+ */
+ /** @} */
+
++#ifdef __cplusplus
++extern "C++" {
+ #include <glib.h>
++}
++#endif
+ #include "qofid.h"
+ #include "qoflog.h"
+ #include "gnc-date.h"
+diff --git a/libgnucash/engine/qofbook.cpp b/libgnucash/engine/qofbook.cpp
+index 55f8cf44b..47cfa85fb 100644
+--- a/libgnucash/engine/qofbook.cpp
++++ b/libgnucash/engine/qofbook.cpp
+@@ -41,7 +41,6 @@ extern "C"
+ #include <stdlib.h>
+ #include <string.h>
+
+-#include <glib.h>
+ #ifdef GNC_PLATFORM_WINDOWS
+ /* Mingw disables the standard type macros for C++ without this override. */
+ #define __STDC_FORMAT_MACROS = 1
+@@ -50,6 +49,7 @@ extern "C"
+
+ }
+
++#include <glib.h>
+ #include "qof.h"
+ #include "qofevent-p.h"
+ #include "qofbackend.h"
+diff --git a/libgnucash/engine/qofbook.h b/libgnucash/engine/qofbook.h
+index bc315c80f..4a7877c0a 100644
+--- a/libgnucash/engine/qofbook.h
++++ b/libgnucash/engine/qofbook.h
+@@ -41,6 +41,7 @@
+ #define QOF_BOOK_H
+
+ #ifdef __cplusplus
++#include <glib.h> //To preempt it being included extern "C" in a later header.
+ extern "C"
+ {
+ #endif
+diff --git a/libgnucash/engine/qofchoice.cpp b/libgnucash/engine/qofchoice.cpp
+index 715417efa..16a9e4a7a 100644
+--- a/libgnucash/engine/qofchoice.cpp
++++ b/libgnucash/engine/qofchoice.cpp
+@@ -21,14 +21,9 @@
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+-extern "C"
+-{
+-
+ #include <config.h>
+ #include <glib.h>
+
+-}
+-
+ #include "qof.h"
+ #include "qofchoice.h"
+
+diff --git a/libgnucash/engine/qofclass.cpp b/libgnucash/engine/qofclass.cpp
+index acaa8fb1c..fdabf3fb0 100644
+--- a/libgnucash/engine/qofclass.cpp
++++ b/libgnucash/engine/qofclass.cpp
+@@ -21,11 +21,8 @@
+ * *
+ \********************************************************************/
+
+-extern "C"
+-{
+ #include <config.h>
+ #include <glib.h>
+-}
+
+ #include "qof.h"
+ #include "qofclass-p.h"
+diff --git a/libgnucash/engine/qofevent.cpp b/libgnucash/engine/qofevent.cpp
+index 674cdeb89..ae69048f4 100644
+--- a/libgnucash/engine/qofevent.cpp
++++ b/libgnucash/engine/qofevent.cpp
+@@ -22,11 +22,8 @@
+ * *
+ ********************************************************************/
+
+-extern "C"
+-{
+ #include <config.h>
+ #include <glib.h>
+-}
+
+ #include "qof.h"
+ #include "qofevent-p.h"
+diff --git a/libgnucash/engine/qofid.cpp b/libgnucash/engine/qofid.cpp
+index 7f713c66f..ac5167fca 100644
+--- a/libgnucash/engine/qofid.cpp
++++ b/libgnucash/engine/qofid.cpp
+@@ -26,9 +26,9 @@ extern "C"
+ {
+ #include <config.h>
+ #include <string.h>
+-#include <glib.h>
+ }
+
++#include <glib.h>
+ #include "qof.h"
+ #include "qofid-p.h"
+ #include "qofinstance-p.h"
+diff --git a/libgnucash/engine/qoflog.cpp b/libgnucash/engine/qoflog.cpp
+index a545ff051..f91817668 100644
+--- a/libgnucash/engine/qoflog.cpp
++++ b/libgnucash/engine/qoflog.cpp
+@@ -34,8 +34,6 @@ extern "C"
+ #include <windows.h>
+ #endif
+
+-#include <glib.h>
+-#include <glib/gstdio.h>
+ #ifdef HAVE_UNISTD_H
+ # include <unistd.h>
+ #else
+@@ -48,10 +46,12 @@ extern "C"
+ #include <string.h>
+ #include <stdio.h>
+
+-#undef G_LOG_DOMAIN
+-#define G_LOG_DOMAIN "qof.log"
+ }
+
++#include <glib.h>
++#include <glib/gstdio.h>
++#undef G_LOG_DOMAIN
++#define G_LOG_DOMAIN "qof.log"
+ #include "qof.h"
+ #include "qoflog.h"
+ #include <string>
+diff --git a/libgnucash/engine/qofobject.cpp b/libgnucash/engine/qofobject.cpp
+index ba87e3434..0138aad15 100644
+--- a/libgnucash/engine/qofobject.cpp
++++ b/libgnucash/engine/qofobject.cpp
+@@ -23,11 +23,8 @@
+ * Copyright (C) 2001 Derek Atkins
+ * Author: Derek Atkins <warlord@MIT.EDU>
+ */
+-extern "C"
+-{
+ #include <config.h>
+ #include <glib.h>
+-}
+
+ #include "qof.h"
+ #include "qofobject-p.h"
+diff --git a/libgnucash/engine/qofquery.cpp b/libgnucash/engine/qofquery.cpp
+index 5af856039..41d49c1bb 100644
+--- a/libgnucash/engine/qofquery.cpp
++++ b/libgnucash/engine/qofquery.cpp
+@@ -27,11 +27,11 @@ extern "C"
+
+ #include <sys/types.h>
+ #include <time.h>
+-#include <glib.h>
+ #include <regex.h>
+ #include <string.h>
+ }
+
++#include <glib.h>
+ #include "qof.h"
+ #include "qof-backend.hpp"
+ #include "qofbook-p.h"
+diff --git a/libgnucash/engine/qofsession.cpp b/libgnucash/engine/qofsession.cpp
+index 86edb1fc6..dd96a609a 100644
+--- a/libgnucash/engine/qofsession.cpp
++++ b/libgnucash/engine/qofsession.cpp
+@@ -48,13 +48,13 @@ extern "C"
+ # endif
+ #endif
+
+-#include <glib.h>
+ #include "qof.h"
+ #include "qofobject-p.h"
+
+ static QofLogModule log_module = QOF_MOD_SESSION;
+ } //extern 'C'
+
++#include <glib.h>
+ #include "qofbook-p.h"
+ #include "qof-backend.hpp"
+ #include "qofsession.hpp"
+diff --git a/libgnucash/engine/test-core/test-engine-stuff.h b/libgnucash/engine/test-core/test-engine-stuff.h
+index bc661da44..54a47a1a4 100644
+--- a/libgnucash/engine/test-core/test-engine-stuff.h
++++ b/libgnucash/engine/test-core/test-engine-stuff.h
+@@ -24,11 +24,11 @@
+
+ #ifndef TEST_ENGINE_STUFF_H
+ #define TEST_ENGINE_STUFF_H
++#include <glib.h>
+ #ifdef __cplusplus
+ extern "C"
+ {
+ #endif
+-#include <glib.h>
+ #include <stdlib.h>
+ #include <stdint.h>
+
+diff --git a/libgnucash/engine/test/test-account-object.cpp b/libgnucash/engine/test/test-account-object.cpp
+index 32f612e65..f1d21a570 100644
+--- a/libgnucash/engine/test/test-account-object.cpp
++++ b/libgnucash/engine/test/test-account-object.cpp
+@@ -24,11 +24,12 @@
+ * @brief Minimal test of reading/writing account parameters
+ * @author David Hampton <hampton@employees.org>
+ */
++#include <glib.h>
++
+ extern "C"
+ {
+ #include <config.h>
+ #include <unistd.h>
+-#include <glib.h>
+ #include "qof.h"
+ #include "Account.h"
+ #include "cashobjects.h"
+diff --git a/libgnucash/engine/test/test-commodities.cpp b/libgnucash/engine/test/test-commodities.cpp
+index 5aae8ec60..efd942158 100644
+--- a/libgnucash/engine/test/test-commodities.cpp
++++ b/libgnucash/engine/test/test-commodities.cpp
+@@ -22,11 +22,11 @@
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
+ */
++#include <glib.h>
++
+ extern "C"
+ {
+ #include <config.h>
+-#include <glib.h>
+-
+ #include "gnc-commodity.h"
+ #include "qof.h"
+ #include "test-engine-stuff.h"
+diff --git a/libgnucash/engine/test/test-group-vs-book.cpp b/libgnucash/engine/test/test-group-vs-book.cpp
+index 31cf1aade..010913ebb 100644
+--- a/libgnucash/engine/test/test-group-vs-book.cpp
++++ b/libgnucash/engine/test/test-group-vs-book.cpp
+@@ -20,10 +20,11 @@
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
+ */
++#include <glib.h>
++
+ extern "C"
+ {
+ #include <config.h>
+-#include <glib.h>
+ #include "qof.h"
+ #include "cashobjects.h"
+ #include "Account.h"
+diff --git a/libgnucash/engine/test/test-guid.cpp b/libgnucash/engine/test/test-guid.cpp
+index 6c7607524..ad42ec49c 100644
+--- a/libgnucash/engine/test/test-guid.cpp
++++ b/libgnucash/engine/test/test-guid.cpp
+@@ -26,11 +26,12 @@
+ *
+ */
+ #include <guid.hpp>
++#include <glib.h>
++
+ extern "C"
+ {
+ #include <config.h>
+ #include <ctype.h>
+-#include <glib.h>
+ #include "cashobjects.h"
+ #include "test-stuff.h"
+ #include "test-engine-stuff.h"
+diff --git a/libgnucash/engine/test/test-lots.cpp b/libgnucash/engine/test/test-lots.cpp
+index c1033d3d0..58d2f8ab1 100644
+--- a/libgnucash/engine/test/test-lots.cpp
++++ b/libgnucash/engine/test/test-lots.cpp
+@@ -24,11 +24,12 @@
+ * @brief Minimal test to see if automatic lot scrubbing works.
+ * @author Linas Vepstas <linas@linas.org>
+ */
++#include <glib.h>
++
+ extern "C"
+ {
+ #include <config.h>
+ #include <ctype.h>
+-#include <glib.h>
+ #include "qof.h"
+ #include "Account.h"
+ #include "Scrub3.h"
+diff --git a/libgnucash/engine/test/test-numeric.cpp b/libgnucash/engine/test/test-numeric.cpp
+index 1963d80fe..c2cd7e534 100644
+--- a/libgnucash/engine/test/test-numeric.cpp
++++ b/libgnucash/engine/test/test-numeric.cpp
+@@ -21,12 +21,12 @@
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
+ */
++#include <glib.h>
+
+ extern "C"
+ {
+ #include <config.h>
+ #include <ctype.h>
+-#include <glib.h>
+ #include "cashobjects.h"
+ #include "test-stuff.h"
+ #include "test-engine-stuff.h"
+diff --git a/libgnucash/engine/test/test-qofinstance.cpp b/libgnucash/engine/test/test-qofinstance.cpp
+index 1f979a161..9299e4223 100644
+--- a/libgnucash/engine/test/test-qofinstance.cpp
++++ b/libgnucash/engine/test/test-qofinstance.cpp
+@@ -20,11 +20,12 @@
+ * Boston, MA 02110-1301, USA gnu@gnu.org *
+ \********************************************************************/
+
++#include <glib.h>
+ #include <guid.hpp>
++
+ extern "C"
+ {
+ #include <config.h>
+-#include <glib.h>
+ #include <unittest-support.h>
+ #include "../qof.h"
+ }
+diff --git a/libgnucash/engine/test/test-query.cpp b/libgnucash/engine/test/test-query.cpp
+index f21c7922a..94ab2c0d8 100644
+--- a/libgnucash/engine/test/test-query.cpp
++++ b/libgnucash/engine/test/test-query.cpp
+@@ -20,10 +20,11 @@
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
+ */
++#include <glib.h>
++
+ extern "C"
+ {
+ #include <config.h>
+-#include <glib.h>
+ #include "qof.h"
+ #include "cashobjects.h"
+ #include "Transaction.h"
+diff --git a/libgnucash/engine/test/test-split-vs-account.cpp b/libgnucash/engine/test/test-split-vs-account.cpp
+index ee1e320a1..81c42d635 100644
+--- a/libgnucash/engine/test/test-split-vs-account.cpp
++++ b/libgnucash/engine/test/test-split-vs-account.cpp
+@@ -21,10 +21,11 @@
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
+ */
++#include <glib.h>
++
+ extern "C"
+ {
+ #include <config.h>
+-#include <glib.h>
+ #include "qof.h"
+ #include "cashobjects.h"
+ #include "AccountP.h"
+diff --git a/libgnucash/engine/test/test-transaction-reversal.cpp b/libgnucash/engine/test/test-transaction-reversal.cpp
+index c8e918e4f..e5183cc5a 100644
+--- a/libgnucash/engine/test/test-transaction-reversal.cpp
++++ b/libgnucash/engine/test/test-transaction-reversal.cpp
+@@ -20,10 +20,11 @@
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
+ */
++#include <glib.h>
++
+ extern "C"
+ {
+ #include <config.h>
+-#include <glib.h>
+ #include <string.h>
+ #include "cashobjects.h"
+ #include "Transaction.h"
+diff --git a/libgnucash/engine/test/test-transaction-voiding.cpp b/libgnucash/engine/test/test-transaction-voiding.cpp
+index f6037d178..e4aa60c63 100644
+--- a/libgnucash/engine/test/test-transaction-voiding.cpp
++++ b/libgnucash/engine/test/test-transaction-voiding.cpp
+@@ -20,10 +20,11 @@
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
+ */
++#include <glib.h>
++
+ extern "C"
+ {
+ #include <config.h>
+-#include <glib.h>
+ #include <string.h>
+ #include "cashobjects.h"
+ #include "Account.h"
+diff --git a/libgnucash/engine/test/utest-Account.cpp b/libgnucash/engine/test/utest-Account.cpp
+index eab36c325..be3057f3b 100644
+--- a/libgnucash/engine/test/utest-Account.cpp
++++ b/libgnucash/engine/test/utest-Account.cpp
+@@ -19,11 +19,12 @@
+ * 51 Franklin Street, Fifth Floor Fax: +1-617-542-2652 *
+ * Boston, MA 02110-1301, USA gnu@gnu.org *
+ ********************************************************************/
++#include <glib.h>
++
+ extern "C"
+ {
+ #include <config.h>
+ #include <string.h>
+-#include <glib.h>
+ #include <unittest-support.h>
+ #include <gnc-event.h>
+ #include <gnc-date.h>
+diff --git a/libgnucash/engine/test/utest-Split.cpp b/libgnucash/engine/test/utest-Split.cpp
+index 18286e283..660210b16 100644
+--- a/libgnucash/engine/test/utest-Split.cpp
++++ b/libgnucash/engine/test/utest-Split.cpp
+@@ -21,11 +21,12 @@
+ * 51 Franklin Street, Fifth Floor Fax: +1-617-542-2652 *
+ * Boston, MA 02110-1301, USA gnu@gnu.org *
+ ********************************************************************/
++#include <glib.h>
++
+ extern "C"
+ {
+ #include <config.h>
+ #include <string.h>
+-#include <glib.h>
+ #include <unittest-support.h>
+ /* Add specific headers for this class */
+ #include <Split.h>
+diff --git a/libgnucash/engine/test/utest-Transaction.cpp b/libgnucash/engine/test/utest-Transaction.cpp
+index ac6effbe6..add1b029b 100644
+--- a/libgnucash/engine/test/utest-Transaction.cpp
++++ b/libgnucash/engine/test/utest-Transaction.cpp
+@@ -21,11 +21,12 @@
+ * 51 Franklin Street, Fifth Floor Fax: +1-617-542-2652 *
+ * Boston, MA 02110-1301, USA gnu@gnu.org *
+ ********************************************************************/
++#include <glib.h>
++
+ extern "C"
+ {
+ #include <config.h>
+ #include <string.h>
+-#include <glib.h>
+ #include <unittest-support.h>
+ /* Add specific headers for this class */
+ #include "../Transaction.h"
+--
+2.26.3
+
diff --git a/app-office/gnucash/gnucash-4.4.ebuild b/app-office/gnucash/gnucash-4.4.ebuild
index 1b028d8901f..0713cd88e77 100644
--- a/app-office/gnucash/gnucash-4.4.ebuild
+++ b/app-office/gnucash/gnucash-4.4.ebuild
@@ -96,6 +96,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-3.2-no-gui.patch
"${FILESDIR}"/${PN}-3.8-examples-subdir.patch
"${FILESDIR}"/${PN}-3.8-exclude-license.patch
+ "${FILESDIR}"/${P}-Fix-build-with-glib-2.68.patch
)
S="${WORKDIR}/${PN}-$(ver_cut 1-2)"
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-office/gnucash/, app-office/gnucash/files/
@ 2020-05-21 11:14 Aaron W. Swenson
0 siblings, 0 replies; 16+ messages in thread
From: Aaron W. Swenson @ 2020-05-21 11:14 UTC (permalink / raw
To: gentoo-commits
commit: 96db598922de37bc2871757aadf4e5f2179dfca4
Author: Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Thu May 21 11:13:21 2020 +0000
Commit: Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Thu May 21 11:13:26 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=96db5989
app-office/gnucash: Cleanup
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Aaron W. Swenson <titanofold <AT> gentoo.org>
app-office/gnucash/Manifest | 7 -
.../files/gnucash-3.4-test-stress-options.scm | 315 ---------------------
.../files/gnucash-3.4-test-transaction.patch | 25 --
.../gnucash-3.7-include-checksymbolexists.patch | 12 -
app-office/gnucash/gnucash-3.2-r2.ebuild | 169 -----------
app-office/gnucash/gnucash-3.3-r1.ebuild | 169 -----------
app-office/gnucash/gnucash-3.3.ebuild | 171 -----------
app-office/gnucash/gnucash-3.4.ebuild | 180 ------------
app-office/gnucash/gnucash-3.5.ebuild | 176 ------------
app-office/gnucash/gnucash-3.6.ebuild | 192 -------------
app-office/gnucash/gnucash-3.7.ebuild | 213 --------------
app-office/gnucash/metadata.xml | 3 -
12 files changed, 1632 deletions(-)
diff --git a/app-office/gnucash/Manifest b/app-office/gnucash/Manifest
index d3dca297cfe..3db1c4417bb 100644
--- a/app-office/gnucash/Manifest
+++ b/app-office/gnucash/Manifest
@@ -1,8 +1 @@
-DIST gnucash-3.2.tar.bz2 13383942 BLAKE2B ce4beb9eab290bbc85c4b3bf68b205a8ebb274056bf10ef1721bce48ec18e4df4b488ce885dc767b4f1e951dabcdc2ba702cb5fe239f249ec50c8d2d1d12a434 SHA512 ef74cbf396096a71316e14500a5b4e57670f9e9c0c5d46f3afe051ccbae2e46a5f14edd8dd805dfb61276b934db286d48ae044160699df82689e2718ed2f7573
-DIST gnucash-3.3.tar.bz2 13440713 BLAKE2B a308af90d8a8e50eb732d29c7eadac1fb75b63006da5bbaa9044039c43c1c17976c6b6fdb1706a08a527b75b1300df3a8ed469151370097b0308a173a170e41b SHA512 4bf0369ca9b3c91c98a0d916f0befc7e5675a246559a6a72dba6592b64f56f3cbd1885b0711e44e8d9cca290be742812763691ae2f639ea31ec534e52e17b3f9
-DIST gnucash-3.4.tar.bz2 13564432 BLAKE2B 478d8e2e4acbd0725ceaf997a1e62ba3875e9d4a003e8a3e69111a9d29118447fb2da8ef3e5dd5274d83a3adef1ee9f4a153cdfd17cabe69864b53bab8c7e813 SHA512 4cebef0ba70e59a82d3b2b7b0b138ddb22e8866dc761e156ff1f15920145d12923719effef21ad4c65ccd62fbd14a1529cf0bfcaab70c5b33d103761d08062e0
-DIST gnucash-3.5.tar.bz2 13766397 BLAKE2B b840fa6af719e1d21daabd8e26f7026a12ca9cefe8c0f644a8382b42c34a6dec2dfc67350645437c2f12792518f289f446824a8c99ea83453e69d976c3cd5c9c SHA512 76230d2fe1ba4cc605d0d58976ed3214b10a2549fc7eaa1e327bbf85c861baa082523c70ed088a59bb56deb6af9a7808752fc719eda0df3e9209cec05c9c8d13
-DIST gnucash-3.6.tar.bz2 13811045 BLAKE2B aa722755e168b6096a8ad0bb05d3c67be9525d5e9e6fcf076c0b6bdc3188815017c2b1bcb308a6f8a7581315f7d9ab67f85b24486214ebbe7ea5a0428e552ea7 SHA512 3d99235a6171e7189dbb15fed11e7f3acb4f49ef8dc6124b26807e74ce4326ac5ae6e23e693a34947604ecb0253ecbcd80f669803a629eb7d236fd3444dbfe82
-DIST gnucash-3.7.tar.bz2 13896595 BLAKE2B d0f0cc9d407677c8b09eab5c1613a0eec80bc54984aebd10915f2f2247ea30c26104cea57c87dd6e46ade9225c9df20c583da21de15f79d50509e63186b682fe SHA512 41275b8d6abba54e95c00d746a2d50305fb7a0490b5486af1472a5d50d2de5973d1ec4de98dd10991325062e61498de020496b59d8548b5a4de9db9d23dee159
DIST gnucash-3.8b.tar.bz2 14285584 BLAKE2B 304d73b04883b61b8a4e174f458206769483ca0f6d28d284c760397e0bc4061dbdb379ff3cca35e80d6736516549a8733bf36895a11c2202fb9f8f25e591e1d9 SHA512 e0529934e9ccafbef2b724f5fca9a0e300c78cf21596f0dcd4b5c11ff300c06a963b68eff1efe00834dc488ced604b86011075bb22480488ddf31d2d4c94ddca
-DIST gtest-1.8.0.tar.gz 1281617 BLAKE2B ac052b4d0eb0d8ded03a8c7dff05177818627b8a51f2dbc2c162b2ee2a5d1323539e7d0d02236d9ebb799995e018f0171c2fdaeb4de3bb339548265e50de79e6 SHA512 1dbece324473e53a83a60601b02c92c089f5d314761351974e097b2cf4d24af4296f9eb8653b6b03b1e363d9c5f793897acae1f0c7ac40149216035c4d395d9d
diff --git a/app-office/gnucash/files/gnucash-3.4-test-stress-options.scm b/app-office/gnucash/files/gnucash-3.4-test-stress-options.scm
deleted file mode 100644
index e85cd61a8ef..00000000000
--- a/app-office/gnucash/files/gnucash-3.4-test-stress-options.scm
+++ /dev/null
@@ -1,315 +0,0 @@
-(use-modules (ice-9 textual-ports))
-(use-modules (ice-9 popen))
-(use-modules (gnucash utilities))
-(use-modules (gnucash gnc-module))
-(gnc:module-begin-syntax (gnc:module-load "gnucash/app-utils" 0))
-(use-modules (gnucash engine test test-extras))
-(use-modules (gnucash report standard-reports))
-(use-modules (gnucash report business-reports))
-(use-modules (gnucash report view-column))
-(use-modules (gnucash report stylesheets))
-(use-modules (gnucash report taxinvoice))
-(use-modules (gnucash report report-system))
-(use-modules (gnucash report report-system test test-extras))
-(use-modules (srfi srfi-64))
-(use-modules (srfi srfi-98))
-(use-modules (gnucash engine test srfi64-extras))
-(use-modules (sxml simple))
-(use-modules (sxml xpath))
-
-;; NOTE
-;; ----
-;; SIMPLE stress tests by default
-;;
-;; PAIRWISE COMBINATORICS are enabled by setting environment variable COMBINATORICS
-;; to the fullpath for the compiled jenny from http://burtleburtle.net/bob/math/jenny.html
-;;
-;; e.g. COMBINATORICS=/home/user/jenny/jenny ninja check
-
-(define optionslist '())
-
-(define (generate-optionslist)
- (gnc:report-templates-for-each
- (lambda (report-id template)
- (let* ((options-generator (gnc:report-template-options-generator template))
- (name (gnc:report-template-name template))
- (options (options-generator)))
- (set! optionslist
- (cons (list (cons 'report-id report-id)
- (cons 'report-name (gnc:report-template-name template))
- (cons 'options (let ((report-options-tested '()))
- (gnc:options-for-each
- (lambda (option)
- (when (memq (gnc:option-type option)
- '(multichoice boolean))
- (set! report-options-tested
- (cons (vector
- (gnc:option-section option)
- (gnc:option-name option)
- (gnc:option-type option)
- (case (gnc:option-type option)
- ((multichoice) (map (lambda (d) (vector-ref d 0))
- (gnc:option-data option)))
- ((boolean) (list #t #f))))
- report-options-tested))))
- options)
- report-options-tested)))
- optionslist))))))
-
-;; Explicitly set locale to make the report output predictable
-(setlocale LC_ALL "C")
-
-(define (run-test)
- (test-runner-factory gnc:test-runner)
- (test-begin "stress options")
- (generate-optionslist)
- (tests)
- (test-end "stress options"))
-
-(define jennypath
- (get-environment-variable "COMBINATORICS"))
-
-(define jenny-exists?
- ;; this is a simple test for presence of jenny - will check
- ;; COMBINATORICS env exists, and running it produces exit-code of
- ;; zero, and tests the first few letters of its output.
- (and (string? jennypath)
- (zero? (system jennypath))
- (string=? (string-take (get-string-all (open-input-pipe jennypath)) 6)
- "jenny:")))
-
-(define (set-option! options section name value)
- (let ((option (gnc:lookup-option options section name)))
- (if option
- (gnc:option-set-value option value))))
-
-(define (mnemonic->commodity sym)
- (gnc-commodity-table-lookup
- (gnc-commodity-table-get-table (gnc-get-current-book))
- (gnc-commodity-get-namespace (gnc-default-report-currency))
- sym))
-
-(define structure
- (list "Root" (list (cons 'type ACCT-TYPE-ASSET))
- (list "Asset"
- (list "Bank")
- (list "GBP Bank" (list (cons 'commodity (mnemonic->commodity "GBP"))))
- (list "Wallet"))
- (list "Income" (list (cons 'type ACCT-TYPE-INCOME)))
- (list "Income-GBP" (list (cons 'type ACCT-TYPE-INCOME)
- (cons 'commodity (mnemonic->commodity "GBP"))))
- (list "Expenses" (list (cons 'type ACCT-TYPE-EXPENSE)))
- (list "Liabilities" (list (cons 'type ACCT-TYPE-LIABILITY)))
- (list "Equity" (list (cons 'type ACCT-TYPE-EQUITY)))
- ))
-
-(define (simple-stress-test report-name uuid report-options)
- (let ((options (gnc:make-report-options uuid)))
- (test-assert (format #f "basic test ~a" report-name)
- (gnc:options->render uuid options (string-append "stress-" report-name) "test"))
- (format #t "Testing SIMPLE combinations for:\n~a" report-name)
- (for-each
- (lambda (option)
- (format #t ",~a/~a"
- (vector-ref option 0)
- (vector-ref option 1)))
- report-options)
- (newline)
- (for-each
- (lambda (idx)
- (display report-name)
- (for-each
- (lambda (option)
- (let* ((section (vector-ref option 0))
- (name (vector-ref option 1))
- (value (list-ref (vector-ref option 3)
- (modulo idx (length (vector-ref option 3))))))
- (set-option! options section name value)
- (format #t ",~a"
- (cond
- ((boolean? value) (if value 't 'f))
- (else value)))))
- report-options)
- (catch #t
- (lambda ()
- (gnc:options->render uuid options "stress-test" "test")
- (display "[pass]\n"))
- (lambda (k . args)
- (format #t "[fail]... error: (~s . ~s) options-list are:\n~a"
- k args
- (gnc:html-render-options-changed options #t))
- (test-assert "logging test failure as above..."
- #f))))
- (iota
- (apply max
- (map (lambda (opt) (length (vector-ref opt 3)))
- report-options)))
- )))
-
-(define (combinatorial-stress-test report-name uuid report-options)
- (let* ((options (gnc:make-report-options uuid))
- (render #f))
- (test-assert (format #f "basic test ~a" report-name)
- (set! render
- (gnc:options->render
- uuid options (string-append "stress-" report-name) "test")))
- (if render
- (begin
- (format #t "Testing n-tuple combinatorics for:\n~a" report-name)
- (for-each
- (lambda (option)
- (format #t ",~a/~a"
- (vector-ref option 0)
- (vector-ref option 1)))
- report-options)
- (newline)
- ;; generate combinatorics
- (let* ((option-lengths (map (lambda (report-option)
- (length (vector-ref report-option 3)))
- report-options))
- (jennyargs (string-join (map number->string option-lengths) " "))
- (n-tuple (min
- ;; the following is the n-tuple
- 2
- (length report-options)))
- (cmdline (format #f "~a -n~a ~a"
- jennypath n-tuple jennyargs))
- (jennyout (get-string-all (open-input-pipe cmdline)))
- (test-cases (string-split jennyout #\newline)))
- (for-each
- (lambda (case)
- (unless (string-null? case)
- (let* ((choices-str (string-filter char-alphabetic? case))
- (choices-alpha (map char->integer (string->list choices-str)))
- (choices (map (lambda (n)
- (- n (if (> n 96) 97 39))) ; a-z -> 0-25, and A-Z -> 26-51
- choices-alpha)))
- (let loop ((option-idx (1- (length report-options)))
- (option-summary '()))
- (if (negative? option-idx)
- (catch #t
- (lambda ()
- (gnc:options->render uuid options "stress-test" "test")
- (format #t "[pass] ~a:~a \n"
- report-name
- (string-join option-summary ",")))
- (lambda (k . args)
- (format #t "[fail]... error (~s . ~s) options-list are:\n~a"
- k args
- (gnc:html-render-options-changed options #t))
- (test-assert "logging test failure as above..."
- #f)))
- (let* ((option (list-ref report-options option-idx))
- (section (vector-ref option 0))
- (name (vector-ref option 1))
- (value (list-ref (vector-ref option 3)
- (list-ref choices option-idx))))
- (set-option! options section name value)
- (loop (1- option-idx)
- (cons (format #f "~a"
- (cond
- ((boolean? value) (if value 't 'f))
- (else value)))
- option-summary))))))))
- test-cases)))
- (display "...aborted due to basic test failure"))))
-
-(define test
- ;; what strategy are we using here? simple stress test (ie tests as
- ;; many times as the maximum number of options) or combinatorial
- ;; tests (using jenny)
- (if jenny-exists?
- combinatorial-stress-test
- simple-stress-test))
-
-(define (create-test-data)
- (let* ((env (create-test-env))
- (account-alist (env-create-account-structure-alist env structure))
- (bank (cdr (assoc "Bank" account-alist)))
- (gbp-bank (cdr (assoc "GBP Bank" account-alist)))
- (wallet (cdr (assoc "Wallet" account-alist)))
- (income (cdr (assoc "Income" account-alist)))
- (gbp-income (cdr (assoc "Income-GBP" account-alist)))
- (expense (cdr (assoc "Expenses" account-alist)))
- (liability (cdr (assoc "Liabilities" account-alist)))
- (equity (cdr (assoc "Equity" account-alist))))
- ;; populate datafile with old transactions
- (env-transfer env 01 01 1970 bank expense 5 #:description "desc-1" #:num "trn1" #:memo "memo-3")
- (env-transfer env 31 12 1969 income bank 10 #:description "desc-2" #:num "trn2" #:void-reason "void" #:notes "notes3")
- (env-transfer env 31 12 1969 income bank 29 #:description "desc-3" #:num "trn3"
- #:reconcile (cons #\c (gnc-dmy2time64 01 03 1970)))
- (env-transfer env 01 02 1970 bank expense 15 #:description "desc-4" #:num "trn4" #:notes "notes2" #:memo "memo-1")
- (env-transfer env 10 01 1970 liability expense 10 #:description "desc-5" #:num "trn5" #:void-reason "any")
- (env-transfer env 10 01 1970 liability expense 11 #:description "desc-6" #:num "trn6" #:notes "notes1")
- (env-transfer env 10 02 1970 bank liability 8 #:description "desc-7" #:num "trn7" #:notes "notes1" #:memo "memo-2"
- #:reconcile (cons #\y (gnc-dmy2time64 01 03 1970)))
- (let ((txn (xaccMallocTransaction (gnc-get-current-book)))
- (split-1 (xaccMallocSplit (gnc-get-current-book)))
- (split-2 (xaccMallocSplit (gnc-get-current-book)))
- (split-3 (xaccMallocSplit (gnc-get-current-book))))
- (xaccTransBeginEdit txn)
- (xaccTransSetDescription txn "$100bank -> $80expenses + $20wallet")
- (xaccTransSetCurrency txn (xaccAccountGetCommodity bank))
- (xaccTransSetDate txn 14 02 1971)
- (xaccSplitSetParent split-1 txn)
- (xaccSplitSetParent split-2 txn)
- (xaccSplitSetParent split-3 txn)
- (xaccSplitSetAccount split-1 bank)
- (xaccSplitSetAccount split-2 expense)
- (xaccSplitSetAccount split-3 wallet)
- (xaccSplitSetValue split-1 -100)
- (xaccSplitSetValue split-2 80)
- (xaccSplitSetValue split-3 20)
- (xaccSplitSetAmount split-1 -100)
- (xaccSplitSetAmount split-2 80)
- (xaccSplitSetAmount split-3 20)
- (xaccTransSetNotes txn "multisplit")
- (xaccTransCommitEdit txn))
- (let ((closing-txn (env-transfer env 31 12 1977 expense equity 111 #:description "Closing")))
- (xaccTransSetIsClosingTxn closing-txn #t))
- (env-transfer-foreign env 15 01 2000 gbp-bank bank 10 14 #:description "GBP 10 to USD 14")
- (env-transfer-foreign env 15 02 2000 bank gbp-bank 9 6 #:description "USD 9 to GBP 6")
- (for-each (lambda (m)
- (env-transfer env 08 (1+ m) 1978 gbp-income gbp-bank 51 #:description "#51 income")
- (env-transfer env 03 (1+ m) 1978 income bank 103 #:description "$103 income")
- (env-transfer env 15 (1+ m) 1978 bank expense 22 #:description "$22 expense")
- (env-transfer env 09 (1+ m) 1978 income bank 109 #:description "$109 income"))
- (iota 12))
- (let ((mid (floor (/ (+ (gnc-accounting-period-fiscal-start)
- (gnc-accounting-period-fiscal-end)) 2))))
- (env-create-transaction env mid bank income 200))))
-
-(define (run-tests prefix)
- (for-each
- (lambda (option-set)
- (let ((report-name (assq-ref option-set 'report-name))
- (report-guid (assq-ref option-set 'report-id))
- (report-options (assq-ref option-set 'options)))
- (if (member report-name
- ;; these reports seem to cause problems when running...
- '(
- ;; eguile-based reports
- "Tax Invoice"
- "Receipt"
- "Australian Tax Invoice"
- "Balance Sheet (eguile)"
-
- ;; tax-schedule - locale-dependent?
- "Tax Schedule Report/TXF Export"
-
- ;; unusual reports
- "Welcome to GnuCash"
- "Hello, World"
- "Multicolumn View"
- "General Journal"
- ))
- (format #t "\nSkipping ~a ~a...\n" report-name prefix)
- (begin
- (format #t "\nTesting ~a ~a...\n" report-name prefix)
- (test report-name report-guid report-options)))))
- optionslist))
-
-(define (tests)
- (run-tests "with empty book")
- (create-test-data)
- (run-tests "on a populated book"))
diff --git a/app-office/gnucash/files/gnucash-3.4-test-transaction.patch b/app-office/gnucash/files/gnucash-3.4-test-transaction.patch
deleted file mode 100644
index bf7180e664f..00000000000
--- a/app-office/gnucash/files/gnucash-3.4-test-transaction.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 95bee405cf5568f5899287ba62058cf894361676 Mon Sep 17 00:00:00 2001
-From: Christopher Lam <christopher.lck@gmail.com>
-Date: Wed, 2 Jan 2019 00:00:56 +0800
-Subject: [PATCH] [test-transaction] fix a test which was hardcoded to 2018.
-
-This test was hard-coded to pass in 2018. Fix.
----
- gnucash/report/standard-reports/test/test-transaction.scm | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/gnucash/report/standard-reports/test/test-transaction.scm b/gnucash/report/standard-reports/test/test-transaction.scm
-index 755aba2983..2f428e24e9 100644
---- a/gnucash/report/standard-reports/test/test-transaction.scm
-+++ b/gnucash/report/standard-reports/test/test-transaction.scm
-@@ -652,8 +652,8 @@
- (list "Grand Total" "$2,280.00" "$2,280.00")
- (get-row-col sxml -1 #f))
- (test-equal "dual amount column, first transaction correct"
-- (list "01/03/18" "$103 income" "Root.Asset.Bank" "$103.00" "$103.00")
-- (get-row-col sxml 1 #f)))
-+ (list "$103 income" "Root.Asset.Bank" "$103.00" "$103.00")
-+ (cdr (get-row-col sxml 1 #f))))
- )
-
- (test-end "display options")
diff --git a/app-office/gnucash/files/gnucash-3.7-include-checksymbolexists.patch b/app-office/gnucash/files/gnucash-3.7-include-checksymbolexists.patch
deleted file mode 100644
index c0e1778164c..00000000000
--- a/app-office/gnucash/files/gnucash-3.7-include-checksymbolexists.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Bug: https://bugs.gentoo.org/690270
-
---- a/gnucash/register/register-gnome/CMakeLists.txt
-+++ b/gnucash/register/register-gnome/CMakeLists.txt
-@@ -1,5 +1,7 @@
- add_subdirectory(test)
-
-+include(CheckSymbolExists)
-+
- #GTK before 3.14 didn't have GDK_MODIFIER_INTENT_DEFAULT_MOD_MASK
- check_symbol_exists(GDK_MODIFIER_INTENT_DEFAULT_MOD_MASK gdk/gdktypes.h have_mod_mask)
- if (NOT have_mod_mask)
diff --git a/app-office/gnucash/gnucash-3.2-r2.ebuild b/app-office/gnucash/gnucash-3.2-r2.ebuild
deleted file mode 100644
index 1b1f57bc708..00000000000
--- a/app-office/gnucash/gnucash-3.2-r2.ebuild
+++ /dev/null
@@ -1,169 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# google{test,mock} version
-GV="1.8.0"
-PYTHON_COMPAT=( python3_6 )
-
-inherit cmake-utils gnome2-utils python-single-r1 xdg-utils
-
-DESCRIPTION="A personal finance manager"
-HOMEPAGE="http://www.gnucash.org/"
-SRC_URI="https://github.com/Gnucash/${PN}/releases/download/${PV}/${P}.tar.bz2
- https://github.com/google/googletest/archive/release-${GV}.tar.gz -> gtest-${GV}.tar.gz"
-
-SLOT="0"
-LICENSE="GPL-2"
-KEYWORDS="amd64 ~ppc ~ppc64 x86"
-
-IUSE="aqbanking chipcard debug doc examples gnome-keyring mysql nls ofx postgres
- python quotes -register2 sqlite +gui"
-REQUIRED_USE="
- chipcard? ( aqbanking )
- python? ( ${PYTHON_REQUIRED_USE} )"
-
-# libdbi version requirement for sqlite taken from bug #455134
-#
-# dev-libs/boost must always be built with nls enabled.
-RDEPEND="
- >=dev-libs/glib-2.40.0:2
- >=dev-libs/libxml2-2.7.0:2
- >=sys-libs/zlib-1.1.4
- >=dev-scheme/guile-2.0.0:12=[regex]
- dev-libs/boost:=[icu,nls]
- dev-libs/icu:=
- dev-libs/libxslt
- aqbanking? (
- >=net-libs/aqbanking-5[gtk,ofx?]
- sys-libs/gwenhywfar[gtk]
- chipcard? ( sys-libs/libchipcard )
- )
- gnome-keyring? ( >=app-crypt/libsecret-0.18 )
- gui? (
- gnome-base/dconf
- net-libs/webkit-gtk:4=
- >=x11-libs/gtk+-3.14.0:3
- )
- mysql? (
- dev-db/libdbi
- dev-db/libdbi-drivers[mysql]
- )
- ofx? ( >=dev-libs/libofx-0.9.1 )
- postgres? (
- dev-db/libdbi
- dev-db/libdbi-drivers[postgres]
- )
- python? ( ${PYTHON_DEPS} )
- quotes? (
- >=dev-perl/Finance-Quote-1.11
- dev-perl/Date-Manip
- dev-perl/HTML-TableExtract
- )
- sqlite? (
- >=dev-db/libdbi-0.9.0
- >=dev-db/libdbi-drivers-0.9.0[sqlite]
- )
-"
-
-DEPEND="${RDEPEND}
- ~dev-cpp/gtest-${GV}
- >=sys-devel/gettext-0.19.6
- dev-lang/perl
- dev-perl/XML-Parser
- sys-devel/libtool
- virtual/pkgconfig
-"
-
-PDEPEND="doc? (
- ~app-doc/gnucash-docs-${PV}
- gnome-extra/yelp
-)"
-
-PATCHES=( "${FILESDIR}"/${PN}-3.2-no-gui.patch )
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
- xdg_environment_reset
-}
-
-src_configure() {
- local sql_on_off="OFF"
- if use mysql || use postgres || use sqlite ; then
- sql_on_off="ON"
- fi
-
- local mycmakeargs=(
- -DGMOCK_ROOT="${WORKDIR}"/googletest-release-${GV}/googlemock
- -DGTEST_ROOT="${WORKDIR}"/googletest-release-${GV}/googletest
-
- -DDISABLE_NLS=$(usex !nls)
- -DENABLE_REGISTER2=$(usex register2)
- -DWITH_AQBANKING=$(usex aqbanking)
- -DWITH_OFX=$(usex ofx)
- -DWITH_PYTHON=$(usex python)
- -DWITH_SQL=${sql_on_off}
- -DWITH_GNUCASH=$(usex gui)
- )
-
- cmake-utils_src_configure
-}
-
-src_test() {
- if use python ; then
- cp common/test-core/unittest_support.py \
- "${BUILD_DIR}"/common/test-core/ || die
- fi
-
- cd "${BUILD_DIR}" || die
- XDG_DATA_HOME="${T}/$(whoami)" emake check
-}
-
-src_install() {
- cmake-utils_src_install
-
- rm "${ED%/}"/usr/share/doc/${PF}/README.dependencies || die
-
- if use gui ; then
- rm "${ED%/}"/usr/share/glib-2.0/schemas/gschemas.compiled || die
- fi
-
- if use examples ; then
- mv "${ED%/}"/usr/share/doc/gnucash \
- "${ED%/}"/usr/share/doc/${PF}/examples || die
- pushd "${ED%/}"/usr/share/doc/${PF}/examples/ > /dev/null || die
- rm AUTHORS DOCUMENTERS LICENSE NEWS projects.html ChangeLog* \
- *win32-bin.txt || die
- popd > /dev/null || die
- docompress -x /usr/share/doc/${PF}/examples/
- else
- rm -r "${ED%/}"/usr/share/doc/gnucash || die
- fi
-
- use aqbanking && dodoc doc/README.HBCI
- use ofx && dodoc doc/README.OFX
-}
-
-pkg_postinst() {
- if use gui ; then
- gnome2_icon_cache_update
- gnome2_schemas_update
- fi
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
-
- ewarn "Backup all financial files or databases before using GnuCash >=2.7.0!"
- ewarn
- ewarn "GnuCash 2.7.0 introduced large changes in its file format and database"
- ewarn "schema that WILL prevent you from reverting back to GnuCash 2.6."
-}
-
-pkg_postrm() {
- if use gui ; then
- gnome2_icon_cache_update
- gnome2_schemas_update
- fi
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
-}
diff --git a/app-office/gnucash/gnucash-3.3-r1.ebuild b/app-office/gnucash/gnucash-3.3-r1.ebuild
deleted file mode 100644
index 0472582cb9b..00000000000
--- a/app-office/gnucash/gnucash-3.3-r1.ebuild
+++ /dev/null
@@ -1,169 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# google{test,mock} version
-GV="1.8.0"
-PYTHON_COMPAT=( python3_6 )
-
-inherit cmake-utils flag-o-matic gnome2-utils python-single-r1 xdg-utils
-
-DESCRIPTION="A personal finance manager"
-HOMEPAGE="http://www.gnucash.org/"
-SRC_URI="https://github.com/Gnucash/${PN}/releases/download/${PV}/${P}.tar.bz2
- https://github.com/google/googletest/archive/release-${GV}.tar.gz -> gtest-${GV}.tar.gz"
-
-SLOT="0"
-LICENSE="GPL-2"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
-
-IUSE="aqbanking chipcard debug doc examples gnome-keyring mysql nls ofx postgres python quotes -register2 sqlite +gui"
-REQUIRED_USE="
- chipcard? ( aqbanking )
- python? ( ${PYTHON_REQUIRED_USE} )"
-
-# libdbi version requirement for sqlite taken from bug #455134
-#
-# dev-libs/boost must always be built with nls enabled.
-# guile[deprecated] because of SCM_LIST*() use
-RDEPEND="
- >=dev-libs/glib-2.46.0:2
- >=dev-libs/libxml2-2.7.0:2
- >=sys-libs/zlib-1.1.4
- >=dev-scheme/guile-2.2.0:12=[deprecated,regex]
- dev-libs/boost:=[icu,nls]
- dev-libs/icu:=
- dev-libs/libxslt
- aqbanking? (
- >=net-libs/aqbanking-5[gtk,ofx?]
- sys-libs/gwenhywfar[gtk]
- chipcard? ( sys-libs/libchipcard )
- )
- gnome-keyring? ( >=app-crypt/libsecret-0.18 )
- gui? (
- gnome-base/dconf
- net-libs/webkit-gtk:4=
- >=x11-libs/gtk+-3.14.0:3
- )
- mysql? (
- dev-db/libdbi
- dev-db/libdbi-drivers[mysql]
- )
- ofx? ( >=dev-libs/libofx-0.9.1 )
- postgres? (
- dev-db/libdbi
- dev-db/libdbi-drivers[postgres]
- )
- python? ( ${PYTHON_DEPS} )
- quotes? (
- >=dev-perl/Finance-Quote-1.11
- dev-perl/Date-Manip
- dev-perl/HTML-TableExtract
- )
- sqlite? (
- >=dev-db/libdbi-0.9.0
- >=dev-db/libdbi-drivers-0.9.0[sqlite]
- )
-"
-
-DEPEND="${RDEPEND}
- ~dev-cpp/gtest-${GV}
- >=sys-devel/gettext-0.19.6
- dev-lang/perl
- dev-perl/XML-Parser
- sys-devel/libtool
- virtual/pkgconfig
-"
-
-PDEPEND="doc? (
- ~app-doc/gnucash-docs-${PV}
- gnome-extra/yelp
-)"
-
-PATCHES=( "${FILESDIR}"/${PN}-3.2-no-gui.patch )
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
- xdg_environment_reset
-}
-
-src_configure() {
- local sql_on_off="OFF"
- if use mysql || use postgres || use sqlite ; then
- sql_on_off="ON"
- fi
-
- local mycmakeargs=(
- -DGMOCK_ROOT="${WORKDIR}"/googletest-release-${GV}/googlemock
- -DGTEST_ROOT="${WORKDIR}"/googletest-release-${GV}/googletest
- # Disable fallback to guile-2.0
- -DCMAKE_DISABLE_FIND_PACKAGE_GUILE2=ON
- -DCOMPILE_GSCHEMAS=OFF
- -DDISABLE_NLS=$(usex !nls)
- -DENABLE_REGISTER2=$(usex register2)
- -DWITH_AQBANKING=$(usex aqbanking)
- -DWITH_OFX=$(usex ofx)
- -DWITH_PYTHON=$(usex python)
- -DWITH_SQL=${sql_on_off}
- -DWITH_GNUCASH=$(usex gui)
- )
-
- append-cflags -Wno-error
- append-cxxflags -Wno-error
- cmake-utils_src_configure
-}
-
-src_test() {
- if use python ; then
- cp common/test-core/unittest_support.py \
- "${BUILD_DIR}"/common/test-core/ || die
- fi
-
- cd "${BUILD_DIR}" || die
- XDG_DATA_HOME="${T}/$(whoami)" emake check
-}
-
-src_install() {
- cmake-utils_src_install
-
- rm "${ED%/}"/usr/share/doc/${PF}/README.dependencies || die
-
- if use examples ; then
- mv "${ED%/}"/usr/share/doc/gnucash \
- "${ED%/}"/usr/share/doc/${PF}/examples || die
- pushd "${ED%/}"/usr/share/doc/${PF}/examples/ > /dev/null || die
- rm AUTHORS DOCUMENTERS LICENSE NEWS projects.html ChangeLog* \
- *win32-bin.txt || die
- popd > /dev/null || die
- docompress -x /usr/share/doc/${PF}/examples/
- else
- rm -r "${ED%/}"/usr/share/doc/gnucash || die
- fi
-
- use aqbanking && dodoc doc/README.HBCI
- use ofx && dodoc doc/README.OFX
-}
-
-pkg_postinst() {
- if use gui ; then
- gnome2_icon_cache_update
- gnome2_schemas_update
- fi
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
-
- ewarn "Backup all financial files or databases before using GnuCash >=2.7.0!"
- ewarn
- ewarn "GnuCash 2.7.0 introduced large changes in its file format and database"
- ewarn "schema that WILL prevent you from reverting back to GnuCash 2.6."
-}
-
-pkg_postrm() {
- if use gui ; then
- gnome2_icon_cache_update
- gnome2_schemas_update
- fi
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
-}
diff --git a/app-office/gnucash/gnucash-3.3.ebuild b/app-office/gnucash/gnucash-3.3.ebuild
deleted file mode 100644
index 3aefc2f916c..00000000000
--- a/app-office/gnucash/gnucash-3.3.ebuild
+++ /dev/null
@@ -1,171 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# google{test,mock} version
-GV="1.8.0"
-PYTHON_COMPAT=( python3_6 )
-
-inherit cmake-utils flag-o-matic gnome2-utils python-single-r1 xdg-utils
-
-DESCRIPTION="A personal finance manager"
-HOMEPAGE="http://www.gnucash.org/"
-SRC_URI="https://github.com/Gnucash/${PN}/releases/download/${PV}/${P}.tar.bz2
- https://github.com/google/googletest/archive/release-${GV}.tar.gz -> gtest-${GV}.tar.gz"
-
-SLOT="0"
-LICENSE="GPL-2"
-KEYWORDS="amd64 ~ppc ~ppc64 ~x86"
-
-IUSE="aqbanking chipcard debug doc examples gnome-keyring mysql nls ofx postgres
- python quotes -register2 sqlite +gui"
-REQUIRED_USE="
- chipcard? ( aqbanking )
- python? ( ${PYTHON_REQUIRED_USE} )"
-
-# libdbi version requirement for sqlite taken from bug #455134
-#
-# dev-libs/boost must always be built with nls enabled.
-RDEPEND="
- >=dev-libs/glib-2.40.0:2
- >=dev-libs/libxml2-2.7.0:2
- >=sys-libs/zlib-1.1.4
- >=dev-scheme/guile-2.0.0:12=[regex]
- dev-libs/boost:=[icu,nls]
- dev-libs/icu:=
- dev-libs/libxslt
- aqbanking? (
- >=net-libs/aqbanking-5[gtk,ofx?]
- sys-libs/gwenhywfar[gtk]
- chipcard? ( sys-libs/libchipcard )
- )
- gnome-keyring? ( >=app-crypt/libsecret-0.18 )
- gui? (
- gnome-base/dconf
- net-libs/webkit-gtk:4=
- >=x11-libs/gtk+-3.14.0:3
- )
- mysql? (
- dev-db/libdbi
- dev-db/libdbi-drivers[mysql]
- )
- ofx? ( >=dev-libs/libofx-0.9.1 )
- postgres? (
- dev-db/libdbi
- dev-db/libdbi-drivers[postgres]
- )
- python? ( ${PYTHON_DEPS} )
- quotes? (
- >=dev-perl/Finance-Quote-1.11
- dev-perl/Date-Manip
- dev-perl/HTML-TableExtract
- )
- sqlite? (
- >=dev-db/libdbi-0.9.0
- >=dev-db/libdbi-drivers-0.9.0[sqlite]
- )
-"
-
-DEPEND="${RDEPEND}
- ~dev-cpp/gtest-${GV}
- >=sys-devel/gettext-0.19.6
- dev-lang/perl
- dev-perl/XML-Parser
- sys-devel/libtool
- virtual/pkgconfig
-"
-
-PDEPEND="doc? (
- ~app-doc/gnucash-docs-${PV}
- gnome-extra/yelp
-)"
-
-PATCHES=( "${FILESDIR}"/${PN}-3.2-no-gui.patch )
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
- xdg_environment_reset
-}
-
-src_configure() {
- local sql_on_off="OFF"
- if use mysql || use postgres || use sqlite ; then
- sql_on_off="ON"
- fi
-
- local mycmakeargs=(
- -DGMOCK_ROOT="${WORKDIR}"/googletest-release-${GV}/googlemock
- -DGTEST_ROOT="${WORKDIR}"/googletest-release-${GV}/googletest
-
- -DDISABLE_NLS=$(usex !nls)
- -DENABLE_REGISTER2=$(usex register2)
- -DWITH_AQBANKING=$(usex aqbanking)
- -DWITH_OFX=$(usex ofx)
- -DWITH_PYTHON=$(usex python)
- -DWITH_SQL=${sql_on_off}
- -DWITH_GNUCASH=$(usex gui)
- )
-
- append-cflags -Wno-error
- append-cxxflags -Wno-error
- cmake-utils_src_configure
-}
-
-src_test() {
- if use python ; then
- cp common/test-core/unittest_support.py \
- "${BUILD_DIR}"/common/test-core/ || die
- fi
-
- cd "${BUILD_DIR}" || die
- XDG_DATA_HOME="${T}/$(whoami)" emake check
-}
-
-src_install() {
- cmake-utils_src_install
-
- rm "${ED%/}"/usr/share/doc/${PF}/README.dependencies || die
-
- if use gui ; then
- rm "${ED%/}"/usr/share/glib-2.0/schemas/gschemas.compiled || die
- fi
-
- if use examples ; then
- mv "${ED%/}"/usr/share/doc/gnucash \
- "${ED%/}"/usr/share/doc/${PF}/examples || die
- pushd "${ED%/}"/usr/share/doc/${PF}/examples/ > /dev/null || die
- rm AUTHORS DOCUMENTERS LICENSE NEWS projects.html ChangeLog* \
- *win32-bin.txt || die
- popd > /dev/null || die
- docompress -x /usr/share/doc/${PF}/examples/
- else
- rm -r "${ED%/}"/usr/share/doc/gnucash || die
- fi
-
- use aqbanking && dodoc doc/README.HBCI
- use ofx && dodoc doc/README.OFX
-}
-
-pkg_postinst() {
- if use gui ; then
- gnome2_icon_cache_update
- gnome2_schemas_update
- fi
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
-
- ewarn "Backup all financial files or databases before using GnuCash >=2.7.0!"
- ewarn
- ewarn "GnuCash 2.7.0 introduced large changes in its file format and database"
- ewarn "schema that WILL prevent you from reverting back to GnuCash 2.6."
-}
-
-pkg_postrm() {
- if use gui ; then
- gnome2_icon_cache_update
- gnome2_schemas_update
- fi
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
-}
diff --git a/app-office/gnucash/gnucash-3.4.ebuild b/app-office/gnucash/gnucash-3.4.ebuild
deleted file mode 100644
index db9c8c5b687..00000000000
--- a/app-office/gnucash/gnucash-3.4.ebuild
+++ /dev/null
@@ -1,180 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# google{test,mock} version
-GV="1.8.0"
-PYTHON_COMPAT=( python3_6 )
-
-inherit cmake-utils flag-o-matic gnome2-utils python-single-r1 xdg-utils
-
-DESCRIPTION="A personal finance manager"
-HOMEPAGE="http://www.gnucash.org/"
-SRC_URI="https://github.com/Gnucash/${PN}/releases/download/${PV}/${P}.tar.bz2
- https://github.com/google/googletest/archive/release-${GV}.tar.gz -> gtest-${GV}.tar.gz"
-
-SLOT="0"
-LICENSE="GPL-2"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
-
-IUSE="aqbanking chipcard debug doc examples gnome-keyring +gui mysql nls ofx
- postgres python quotes -register2 sqlite"
-
-REQUIRED_USE="
- chipcard? ( aqbanking )
- python? ( ${PYTHON_REQUIRED_USE} )"
-
-# libdbi version requirement for sqlite taken from bug #455134
-#
-# dev-libs/boost must always be built with nls enabled.
-# guile[deprecated] because of SCM_LIST*() use
-RDEPEND="
- >=dev-libs/glib-2.46.0:2
- >=dev-libs/libxml2-2.7.0:2
- >=sys-libs/zlib-1.1.4
- >=dev-scheme/guile-2.2.0:12=[deprecated,regex]
- dev-libs/boost:=[icu,nls]
- dev-libs/icu:=
- dev-libs/libxslt
- aqbanking? (
- >=net-libs/aqbanking-5[gtk,ofx?]
- sys-libs/gwenhywfar[gtk]
- chipcard? ( sys-libs/libchipcard )
- )
- gnome-keyring? ( >=app-crypt/libsecret-0.18 )
- gui? (
- gnome-base/dconf
- net-libs/webkit-gtk:4=
- >=x11-libs/gtk+-3.14.0:3
- )
- mysql? (
- dev-db/libdbi
- dev-db/libdbi-drivers[mysql]
- )
- ofx? ( >=dev-libs/libofx-0.9.1 )
- postgres? (
- dev-db/libdbi
- dev-db/libdbi-drivers[postgres]
- )
- python? ( ${PYTHON_DEPS} )
- quotes? (
- >=dev-perl/Finance-Quote-1.11
- dev-perl/Date-Manip
- dev-perl/HTML-TableExtract
- )
- sqlite? (
- >=dev-db/libdbi-0.9.0
- >=dev-db/libdbi-drivers-0.9.0[sqlite]
- )
-"
-
-DEPEND="${RDEPEND}
- ~dev-cpp/gtest-${GV}
- >=sys-devel/gettext-0.19.6
- dev-lang/perl
- dev-perl/XML-Parser
- sys-devel/libtool
- virtual/pkgconfig
-"
-
-PDEPEND="doc? (
- ~app-doc/gnucash-docs-${PV}
- gnome-extra/yelp
-)"
-
-PATCHES=( "${FILESDIR}"/${PN}-3.2-no-gui.patch
- # Fixed in 3.5
- "${FILESDIR}"/${PN}-3.4-test-transaction.patch )
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
- xdg_environment_reset
-}
-
-src_unpack() {
- default
- cp "${FILESDIR}"/gnucash-3.4-test-stress-options.scm \
- ${PN}-${PV}/${PN}/report/standard-reports/test/test-stress-options.scm \
- || die "Failed copying scm"
-}
-
-src_configure() {
- local sql_on_off="OFF"
- if use mysql || use postgres || use sqlite ; then
- sql_on_off="ON"
- fi
-
- local mycmakeargs=(
- -DGMOCK_ROOT="${WORKDIR}"/googletest-release-${GV}/googlemock
- -DGTEST_ROOT="${WORKDIR}"/googletest-release-${GV}/googletest
- # Disable fallback to guile-2.0
- -DCMAKE_DISABLE_FIND_PACKAGE_GUILE2=ON
- -DCOMPILE_GSCHEMAS=OFF
- -DDISABLE_NLS=$(usex !nls)
- -DENABLE_REGISTER2=$(usex register2)
- -DWITH_AQBANKING=$(usex aqbanking)
- -DWITH_OFX=$(usex ofx)
- -DWITH_PYTHON=$(usex python)
- -DWITH_SQL=${sql_on_off}
- -DWITH_GNUCASH=$(usex gui)
- )
-
- append-cflags -Wno-error
- append-cxxflags -Wno-error
- cmake-utils_src_configure
-}
-
-src_test() {
- if use python ; then
- cp common/test-core/unittest_support.py \
- "${BUILD_DIR}"/common/test-core/ || die
- fi
-
- cd "${BUILD_DIR}" || die
- XDG_DATA_HOME="${T}/$(whoami)" emake check
-}
-
-src_install() {
- cmake-utils_src_install
-
- rm "${ED%/}"/usr/share/doc/${PF}/README.dependencies || die
-
- if use examples ; then
- mv "${ED%/}"/usr/share/doc/gnucash \
- "${ED%/}"/usr/share/doc/${PF}/examples || die
- pushd "${ED%/}"/usr/share/doc/${PF}/examples/ > /dev/null || die
- rm AUTHORS DOCUMENTERS LICENSE NEWS projects.html ChangeLog* \
- *win32-bin.txt || die
- popd > /dev/null || die
- docompress -x /usr/share/doc/${PF}/examples/
- else
- rm -r "${ED%/}"/usr/share/doc/gnucash || die
- fi
-
- use aqbanking && dodoc doc/README.HBCI
- use ofx && dodoc doc/README.OFX
-}
-
-pkg_postinst() {
- if use gui ; then
- gnome2_icon_cache_update
- gnome2_schemas_update
- fi
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
-
- ewarn "Backup all financial files or databases before using GnuCash >=2.7.0!"
- ewarn
- ewarn "GnuCash 2.7.0 introduced large changes in its file format and database"
- ewarn "schema that WILL prevent you from reverting back to GnuCash 2.6."
-}
-
-pkg_postrm() {
- if use gui ; then
- gnome2_icon_cache_update
- gnome2_schemas_update
- fi
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
-}
diff --git a/app-office/gnucash/gnucash-3.5.ebuild b/app-office/gnucash/gnucash-3.5.ebuild
deleted file mode 100644
index 28efd4507c7..00000000000
--- a/app-office/gnucash/gnucash-3.5.ebuild
+++ /dev/null
@@ -1,176 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# google{test,mock} version
-GV="1.8.0"
-PYTHON_COMPAT=( python3_6 )
-
-inherit cmake-utils flag-o-matic gnome2-utils python-single-r1 xdg-utils
-
-DESCRIPTION="A personal finance manager"
-HOMEPAGE="http://www.gnucash.org/"
-SRC_URI="https://github.com/Gnucash/${PN}/releases/download/${PV}/${P}.tar.bz2
- https://github.com/google/googletest/archive/release-${GV}.tar.gz -> gtest-${GV}.tar.gz"
-
-SLOT="0"
-LICENSE="GPL-2"
-KEYWORDS="amd64 ~ppc ~ppc64 x86"
-
-IUSE="aqbanking chipcard debug doc examples gnome-keyring +gui mysql nls ofx
- postgres python quotes -register2 sqlite"
-
-REQUIRED_USE="
- chipcard? ( aqbanking )
- python? ( ${PYTHON_REQUIRED_USE} )"
-
-# libdbi version requirement for sqlite taken from bug #455134
-#
-# dev-libs/boost must always be built with nls enabled.
-# guile[deprecated] because of SCM_LIST*() use
-RDEPEND="
- >=dev-libs/glib-2.46.0:2
- >=dev-libs/libxml2-2.7.0:2
- >=sys-libs/zlib-1.1.4
- >=dev-scheme/guile-2.2.0:12=[deprecated,regex]
- dev-libs/boost:=[icu,nls]
- dev-libs/icu:=
- dev-libs/libxslt
- aqbanking? (
- >=net-libs/aqbanking-5[gtk,ofx?]
- sys-libs/gwenhywfar[gtk]
- chipcard? ( sys-libs/libchipcard )
- )
- gnome-keyring? ( >=app-crypt/libsecret-0.18 )
- gui? (
- gnome-base/dconf
- net-libs/webkit-gtk:4=
- >=x11-libs/gtk+-3.14.0:3
- )
- mysql? (
- dev-db/libdbi
- dev-db/libdbi-drivers[mysql]
- )
- ofx? ( >=dev-libs/libofx-0.9.1 )
- postgres? (
- dev-db/libdbi
- dev-db/libdbi-drivers[postgres]
- )
- python? ( ${PYTHON_DEPS} )
- quotes? (
- >=dev-perl/Finance-Quote-1.11
- dev-perl/Date-Manip
- dev-perl/HTML-TableExtract
- )
- sqlite? (
- >=dev-db/libdbi-0.9.0
- >=dev-db/libdbi-drivers-0.9.0[sqlite]
- )
-"
-
-DEPEND="${RDEPEND}
- ~dev-cpp/gtest-${GV}
- >=sys-devel/gettext-0.19.6
- dev-lang/perl
- dev-perl/XML-Parser
- sys-devel/libtool
- virtual/pkgconfig
-"
-
-PDEPEND="doc? (
- ~app-doc/gnucash-docs-${PV}
- gnome-extra/yelp
-)"
-
-PATCHES=( "${FILESDIR}"/${PN}-3.2-no-gui.patch )
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
- xdg_environment_reset
-}
-
-src_unpack() {
- default
- cp "${FILESDIR}"/gnucash-3.4-test-stress-options.scm \
- ${PN}-${PV}/${PN}/report/standard-reports/test/test-stress-options.scm \
- || die "Failed copying scm"
-}
-
-src_configure() {
- local sql_on_off="OFF"
- if use mysql || use postgres || use sqlite ; then
- sql_on_off="ON"
- fi
-
- local mycmakeargs=(
- -DGMOCK_ROOT="${WORKDIR}"/googletest-release-${GV}/googlemock
- -DGTEST_ROOT="${WORKDIR}"/googletest-release-${GV}/googletest
- # Disable fallback to guile-2.0
- -DCMAKE_DISABLE_FIND_PACKAGE_GUILE2=ON
- -DCOMPILE_GSCHEMAS=OFF
- -DDISABLE_NLS=$(usex !nls)
- -DENABLE_REGISTER2=$(usex register2)
- -DWITH_AQBANKING=$(usex aqbanking)
- -DWITH_OFX=$(usex ofx)
- -DWITH_PYTHON=$(usex python)
- -DWITH_SQL=${sql_on_off}
- -DWITH_GNUCASH=$(usex gui)
- )
-
- cmake-utils_src_configure
-}
-
-src_test() {
- if use python ; then
- cp common/test-core/unittest_support.py \
- "${BUILD_DIR}"/common/test-core/ || die
- fi
-
- cd "${BUILD_DIR}" || die
- XDG_DATA_HOME="${T}/$(whoami)" emake check
-}
-
-src_install() {
- cmake-utils_src_install
-
- rm "${ED%/}"/usr/share/doc/${PF}/README.dependencies || die
-
- if use examples ; then
- mv "${ED%/}"/usr/share/doc/gnucash \
- "${ED%/}"/usr/share/doc/${PF}/examples || die
- pushd "${ED%/}"/usr/share/doc/${PF}/examples/ > /dev/null || die
- rm AUTHORS DOCUMENTERS LICENSE NEWS projects.html ChangeLog* \
- *win32-bin.txt || die
- popd > /dev/null || die
- docompress -x /usr/share/doc/${PF}/examples/
- else
- rm -r "${ED%/}"/usr/share/doc/gnucash || die
- fi
-
- use aqbanking && dodoc doc/README.HBCI
- use ofx && dodoc doc/README.OFX
-}
-
-pkg_postinst() {
- if use gui ; then
- gnome2_icon_cache_update
- gnome2_schemas_update
- fi
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
-
- ewarn "Backup all financial files or databases before using GnuCash >=2.7.0!"
- ewarn
- ewarn "GnuCash 2.7.0 introduced large changes in its file format and database"
- ewarn "schema that WILL prevent you from reverting back to GnuCash 2.6."
-}
-
-pkg_postrm() {
- if use gui ; then
- gnome2_icon_cache_update
- gnome2_schemas_update
- fi
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
-}
diff --git a/app-office/gnucash/gnucash-3.6.ebuild b/app-office/gnucash/gnucash-3.6.ebuild
deleted file mode 100644
index a2988538c60..00000000000
--- a/app-office/gnucash/gnucash-3.6.ebuild
+++ /dev/null
@@ -1,192 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python3_6 )
-
-inherit cmake-utils gnome2-utils python-single-r1 xdg-utils
-
-DESCRIPTION="A personal finance manager"
-HOMEPAGE="http://www.gnucash.org/"
-SRC_URI="https://github.com/Gnucash/${PN}/releases/download/${PV}/${P}.tar.bz2"
-
-SLOT="0"
-LICENSE="GPL-2"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
-
-IUSE="aqbanking chipcard debug doc examples gnome-keyring +gui mysql nls ofx
- postgres python quotes -register2 sqlite test"
-
-RESTRICT="!test? ( test )"
-REQUIRED_USE="
- chipcard? ( aqbanking )
- python? ( ${PYTHON_REQUIRED_USE} )"
-
-# libdbi version requirement for sqlite taken from bug #455134
-#
-# dev-libs/boost must always be built with nls enabled.
-# guile[deprecated] because of SCM_LIST*() use
-RDEPEND="
- >=dev-libs/glib-2.46.0:2
- >=dev-libs/libxml2-2.7.0:2
- >=sys-libs/zlib-1.1.4
- >=dev-scheme/guile-2.2.0:12=[deprecated,regex]
- dev-libs/boost:=[icu,nls]
- dev-libs/icu:=
- dev-libs/libxslt
- aqbanking? (
- >=net-libs/aqbanking-5[gtk,ofx?]
- sys-libs/gwenhywfar[gtk]
- chipcard? ( sys-libs/libchipcard )
- )
- gnome-keyring? ( >=app-crypt/libsecret-0.18 )
- gui? (
- gnome-base/dconf
- net-libs/webkit-gtk:4=
- >=x11-libs/gtk+-3.14.0:3
- )
- mysql? (
- dev-db/libdbi
- dev-db/libdbi-drivers[mysql]
- )
- ofx? ( >=dev-libs/libofx-0.9.1 )
- postgres? (
- dev-db/libdbi
- dev-db/libdbi-drivers[postgres]
- )
- python? ( ${PYTHON_DEPS} )
- quotes? (
- >=dev-perl/Finance-Quote-1.11
- dev-perl/Date-Manip
- dev-perl/HTML-TableExtract
- )
- sqlite? (
- >=dev-db/libdbi-0.9.0
- >=dev-db/libdbi-drivers-0.9.0[sqlite]
- )
-"
-
-DEPEND="${RDEPEND}
- >=sys-devel/gettext-0.19.6
- dev-lang/perl
- dev-perl/XML-Parser
- sys-devel/libtool
- virtual/pkgconfig
- test? ( >=dev-cpp/gtest-1.8.0 )
-"
-
-PDEPEND="doc? (
- ~app-doc/gnucash-docs-${PV}
- gnome-extra/yelp
-)"
-
-PATCHES=( "${FILESDIR}"/${PN}-3.2-no-gui.patch )
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
- xdg_environment_reset
-}
-
-src_unpack() {
- default
- cp "${FILESDIR}"/gnucash-3.4-test-stress-options.scm \
- ${PN}-${PV}/${PN}/report/standard-reports/test/test-stress-options.scm \
- || die "Failed copying scm"
-}
-
-src_configure() {
- local sql_on_off="OFF"
- if use mysql || use postgres || use sqlite ; then
- sql_on_off="ON"
- fi
-
- local mycmakeargs=(
- # Disable fallback to guile-2.0
- -DCMAKE_DISABLE_FIND_PACKAGE_GUILE2=ON
- -DCOMPILE_GSCHEMAS=OFF
- -DDISABLE_NLS=$(usex !nls)
- -DENABLE_REGISTER2=$(usex register2)
- -DWITH_AQBANKING=$(usex aqbanking)
- -DWITH_OFX=$(usex ofx)
- -DWITH_PYTHON=$(usex python)
- -DWITH_SQL=${sql_on_off}
- -DWITH_GNUCASH=$(usex gui)
- )
-
- cmake-utils_src_configure
-}
-
-src_test() {
- if use python ; then
- cp common/test-core/unittest_support.py \
- "${BUILD_DIR}"/common/test-core/ || die
- fi
-
- LOCALE_TESTS=
- if type locale >/dev/null 2>&1; then
- MY_LOCALES="$(locale -a)"
- if [[ "${MY_LOCALES}" != *en_US* ||
- "${MY_LOCALES}" != *en_GB* ||
- "${MY_LOCALES}" != *fr_FR* ]] ; then
- ewarn "Missing one or more of en_US, en_GB, or fr_FR locales."
- else
- LOCALE_TESTS=true
- fi
- else
- ewarn "'locale' not found."
- fi
-
- if [[ ! ${LOCALE_TESTS} ]]; then
- ewarn "Disabling test-qof and test-gnc-numeric."
- echo 'set(CTEST_CUSTOM_TESTS_IGNORE test-qof test-gnc-numeric)' \
- > "${BUILD_DIR}"/CTestCustom.cmake || die
- fi
-
- cd "${BUILD_DIR}" || die
- XDG_DATA_HOME="${T}/$(whoami)" emake check
-}
-
-src_install() {
- cmake-utils_src_install
-
- rm "${ED%/}"/usr/share/doc/${PF}/README.dependencies || die
-
- if use examples ; then
- mv "${ED%/}"/usr/share/doc/gnucash \
- "${ED%/}"/usr/share/doc/${PF}/examples || die
- pushd "${ED%/}"/usr/share/doc/${PF}/examples/ > /dev/null || die
- rm AUTHORS DOCUMENTERS LICENSE NEWS projects.html ChangeLog* \
- *win32-bin.txt || die
- popd > /dev/null || die
- docompress -x /usr/share/doc/${PF}/examples/
- else
- rm -r "${ED%/}"/usr/share/doc/gnucash || die
- fi
-
- use aqbanking && dodoc doc/README.HBCI
- use ofx && dodoc doc/README.OFX
-}
-
-pkg_postinst() {
- if use gui ; then
- gnome2_icon_cache_update
- gnome2_schemas_update
- fi
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
-
- ewarn "Backup all financial files or databases before using GnuCash >=2.7.0!"
- ewarn
- ewarn "GnuCash 2.7.0 introduced large changes in its file format and database"
- ewarn "schema that WILL prevent you from reverting back to GnuCash 2.6."
-}
-
-pkg_postrm() {
- if use gui ; then
- gnome2_icon_cache_update
- gnome2_schemas_update
- fi
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
-}
diff --git a/app-office/gnucash/gnucash-3.7.ebuild b/app-office/gnucash/gnucash-3.7.ebuild
deleted file mode 100644
index a5ff19c5918..00000000000
--- a/app-office/gnucash/gnucash-3.7.ebuild
+++ /dev/null
@@ -1,213 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python3_6 )
-
-inherit cmake-utils gnome2-utils python-single-r1 xdg-utils
-
-DESCRIPTION="A personal finance manager"
-HOMEPAGE="http://www.gnucash.org/"
-SRC_URI="https://github.com/Gnucash/${PN}/releases/download/${PV}/${P}.tar.bz2"
-
-SLOT="0"
-LICENSE="GPL-2"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
-
-IUSE="aqbanking debug doc examples gnome-keyring +gui mysql nls ofx postgres
- python quotes -register2 smartcard sqlite test"
-
-RESTRICT="!test? ( test )"
-REQUIRED_USE="
- python? ( ${PYTHON_REQUIRED_USE} )
- smartcard? ( aqbanking )"
-
-# libdbi version requirement for sqlite taken from bug #455134
-#
-# dev-libs/boost must always be built with nls enabled.
-# guile[deprecated] because of SCM_LIST*() use
-RDEPEND="
- >=dev-libs/glib-2.46.0:2
- >=dev-libs/libxml2-2.7.0:2
- dev-libs/boost:=[icu,nls]
- dev-libs/icu:=
- dev-libs/libxslt
- >=dev-scheme/guile-2.2.0:12=[deprecated,regex]
- >=sys-libs/zlib-1.1.4
- aqbanking? (
- >=net-libs/aqbanking-5[ofx?]
- sys-libs/gwenhywfar
- smartcard? ( sys-libs/libchipcard )
- )
- gnome-keyring? ( >=app-crypt/libsecret-0.18 )
- gui? (
- gnome-base/dconf
- net-libs/webkit-gtk:4=
- >=x11-libs/gtk+-3.14.0:3
- aqbanking? ( >=sys-libs/gwenhywfar-4.20.2[gtk] )
- )
- mysql? (
- dev-db/libdbi
- dev-db/libdbi-drivers[mysql]
- )
- ofx? ( >=dev-libs/libofx-0.9.1 )
- postgres? (
- dev-db/libdbi
- dev-db/libdbi-drivers[postgres]
- )
- python? ( ${PYTHON_DEPS} )
- quotes? (
- >=dev-perl/Finance-Quote-1.11
- dev-perl/Date-Manip
- dev-perl/HTML-TableExtract
- )
- sqlite? (
- >=dev-db/libdbi-0.9.0
- >=dev-db/libdbi-drivers-0.9.0[sqlite]
- )
-"
-
-DEPEND="${RDEPEND}
- >=sys-devel/gettext-0.19.6
- dev-lang/perl
- dev-perl/XML-Parser
- sys-devel/libtool
- virtual/pkgconfig
- test? ( >=dev-cpp/gtest-1.8.0 )
-"
-
-PDEPEND="doc? (
- ~app-doc/gnucash-docs-${PV}
- gnome-extra/yelp
-)"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.2-no-gui.patch
- "${FILESDIR}"/${PN}-3.7-include-checksymbolexists.patch
-)
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_unpack() {
- default
- cp "${FILESDIR}"/gnucash-3.4-test-stress-options.scm \
- ${PN}-${PV}/${PN}/report/standard-reports/test/test-stress-options.scm \
- || die "Failed copying scm"
-}
-
-src_prepare() {
- cmake-utils_src_prepare
- xdg_environment_reset
-
- # Fix tests writing to /tmp
- local fixtestfiles=(
- "${S}"/gnucash/report/report-system/test/test-commodity-utils.scm
- "${S}"/gnucash/report/report-system/test/test-extras.scm
- "${S}"/gnucash/report/report-system/test/test-report-html.scm
- "${S}"/gnucash/report/report-system/test/test-report-system.scm
- "${S}"/libgnucash/backend/xml/test/test-xml-pricedb.cpp
- "${S}"/libgnucash/backend/dbi/test/test-backend-dbi-basic.cpp
- )
- for x in "${fixtestfiles[@]}"; do
- sed -i -e "s|\"/tmp/|\"${T}/|g" "${x}" || die "sed of "${x}" failed"
- done
-}
-
-src_configure() {
- export GUILE_AUTO_COMPILE=0
-
- local sql_on_off="OFF"
- if use mysql || use postgres || use sqlite ; then
- sql_on_off="ON"
- fi
-
- local mycmakeargs=(
- -DCOMPILE_GSCHEMAS=OFF
- -DDISABLE_NLS=$(usex !nls)
- -DENABLE_REGISTER2=$(usex register2)
- -DWITH_AQBANKING=$(usex aqbanking)
- -DWITH_OFX=$(usex ofx)
- -DWITH_PYTHON=$(usex python)
- -DWITH_SQL=${sql_on_off}
- -DWITH_GNUCASH=$(usex gui)
- )
-
- cmake-utils_src_configure
-}
-
-src_test() {
- if use python ; then
- cp common/test-core/unittest_support.py \
- "${BUILD_DIR}"/common/test-core/ || die
- fi
-
- LOCALE_TESTS=
- if type locale >/dev/null 2>&1; then
- MY_LOCALES="$(locale -a)"
- if [[ "${MY_LOCALES}" != *en_US* ||
- "${MY_LOCALES}" != *en_GB* ||
- "${MY_LOCALES}" != *fr_FR* ]] ; then
- ewarn "Missing one or more of en_US, en_GB, or fr_FR locales."
- else
- LOCALE_TESTS=true
- fi
- else
- ewarn "'locale' not found."
- fi
-
- if [[ ! ${LOCALE_TESTS} ]]; then
- ewarn "Disabling test-qof and test-gnc-numeric."
- echo 'set(CTEST_CUSTOM_TESTS_IGNORE test-qof test-gnc-numeric)' \
- > "${BUILD_DIR}"/CTestCustom.cmake || die
- fi
-
- cd "${BUILD_DIR}" || die
- XDG_DATA_HOME="${T}/$(whoami)" emake check
-}
-
-src_install() {
- cmake-utils_src_install
-
- rm "${ED%/}"/usr/share/doc/${PF}/README.dependencies || die
-
- if use examples ; then
- mv "${ED%/}"/usr/share/doc/gnucash \
- "${ED%/}"/usr/share/doc/${PF}/examples || die
- pushd "${ED%/}"/usr/share/doc/${PF}/examples/ > /dev/null || die
- rm AUTHORS DOCUMENTERS LICENSE NEWS projects.html ChangeLog* \
- *win32-bin.txt || die
- popd > /dev/null || die
- docompress -x /usr/share/doc/${PF}/examples/
- else
- rm -r "${ED%/}"/usr/share/doc/gnucash || die
- fi
-
- use aqbanking && dodoc doc/README.HBCI
- use ofx && dodoc doc/README.OFX
-}
-
-pkg_postinst() {
- if use gui ; then
- xdg_icon_cache_update
- gnome2_schemas_update
- fi
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
-
- ewarn "Backup all financial files or databases before using GnuCash >=2.7.0!"
- ewarn
- ewarn "GnuCash 2.7.0 introduced large changes in its file format and database"
- ewarn "schema that WILL prevent you from reverting back to GnuCash 2.6."
-}
-
-pkg_postrm() {
- if use gui ; then
- xdg_icon_cache_update
- gnome2_schemas_update
- fi
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
-}
diff --git a/app-office/gnucash/metadata.xml b/app-office/gnucash/metadata.xml
index 545a0e372b3..7b7410f54f7 100644
--- a/app-office/gnucash/metadata.xml
+++ b/app-office/gnucash/metadata.xml
@@ -9,9 +9,6 @@
<flag name="aqbanking">
Connect to some internet banks via AqBanking
</flag>
- <flag name="chipcard">
- Enable support for chipcard reading and processing.
- </flag>
<flag name="quotes">Enable Online Stock Quote retrieval</flag>
<flag name="register2">Use the new register (Experimental)</flag>
</use>
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-office/gnucash/, app-office/gnucash/files/
@ 2019-10-13 11:40 Andreas Sturmlechner
0 siblings, 0 replies; 16+ messages in thread
From: Andreas Sturmlechner @ 2019-10-13 11:40 UTC (permalink / raw
To: gentoo-commits
commit: ff46a76b91b203f21ddc917a6486be6d2f73011d
Author: Peter Levine <plevine457 <AT> gmail <DOT> com>
AuthorDate: Sun Sep 15 19:58:05 2019 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Oct 13 11:40:24 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ff46a76b
app-office/gnucash: Fix check_symbol_exists error
Adds "include(CheckSymbolExists)" to avoid the error
"Unknown CMake command check_symbol_exists"
Closes: https://bugs.gentoo.org/690270
Package-Manager: Portage-2.3.75, Repoman-2.3.17
Signed-off-by: Peter Levine <plevine457 <AT> gmail.com>
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
.../files/gnucash-3.7-include-checksymbolexists.patch | 12 ++++++++++++
app-office/gnucash/gnucash-3.7.ebuild | 5 ++++-
2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/app-office/gnucash/files/gnucash-3.7-include-checksymbolexists.patch b/app-office/gnucash/files/gnucash-3.7-include-checksymbolexists.patch
new file mode 100644
index 00000000000..c0e1778164c
--- /dev/null
+++ b/app-office/gnucash/files/gnucash-3.7-include-checksymbolexists.patch
@@ -0,0 +1,12 @@
+Bug: https://bugs.gentoo.org/690270
+
+--- a/gnucash/register/register-gnome/CMakeLists.txt
++++ b/gnucash/register/register-gnome/CMakeLists.txt
+@@ -1,5 +1,7 @@
+ add_subdirectory(test)
+
++include(CheckSymbolExists)
++
+ #GTK before 3.14 didn't have GDK_MODIFIER_INTENT_DEFAULT_MOD_MASK
+ check_symbol_exists(GDK_MODIFIER_INTENT_DEFAULT_MOD_MASK gdk/gdktypes.h have_mod_mask)
+ if (NOT have_mod_mask)
diff --git a/app-office/gnucash/gnucash-3.7.ebuild b/app-office/gnucash/gnucash-3.7.ebuild
index ec42d91eaae..4b8e26a831c 100644
--- a/app-office/gnucash/gnucash-3.7.ebuild
+++ b/app-office/gnucash/gnucash-3.7.ebuild
@@ -80,7 +80,10 @@ PDEPEND="doc? (
gnome-extra/yelp
)"
-PATCHES=( "${FILESDIR}"/${PN}-3.2-no-gui.patch )
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.2-no-gui.patch
+ "${FILESDIR}"/${PN}-3.7-include-checksymbolexists.patch
+)
pkg_setup() {
use python && python-single-r1_pkg_setup
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-office/gnucash/, app-office/gnucash/files/
@ 2018-10-07 10:19 Aaron Swenson
0 siblings, 0 replies; 16+ messages in thread
From: Aaron Swenson @ 2018-10-07 10:19 UTC (permalink / raw
To: gentoo-commits
commit: 271f77dca714091958915902161c731e1476ddba
Author: Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 7 10:17:03 2018 +0000
Commit: Aaron Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Sun Oct 7 10:17:26 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=271f77dc
app-office/gnucash: Cleanup old
Package-Manager: Portage-2.3.49, Repoman-2.3.11
Signed-off-by: Aaron Swenson <titanofold <AT> gentoo.org>
app-office/gnucash/Manifest | 1 -
.../gnucash/files/gnucash-2.7.4-double_free.patch | 12 --
...ucash-2.7.4-fix-tests-for-32bit-platforms.patch | 56 -------
app-office/gnucash/gnucash-2.7.4-r1.ebuild | 165 ---------------------
app-office/gnucash/gnucash-3.2.ebuild | 160 --------------------
5 files changed, 394 deletions(-)
diff --git a/app-office/gnucash/Manifest b/app-office/gnucash/Manifest
index 0cd972338cb..c2508be7720 100644
--- a/app-office/gnucash/Manifest
+++ b/app-office/gnucash/Manifest
@@ -1,4 +1,3 @@
-DIST gnucash-2.7.4.tar.bz2 13364512 BLAKE2B 0a552efe5a4f024517c054516eb25b51abb2f934e6fc904afd4b0fb48283f9ebb89583b83b0efefba66d014df16c8997c413d05278d4290c44e4fa2278564b61 SHA512 d096ec2a3907dcd09c936f0a49ef6fb5028a17d2e0ade9e68eae7303530480ce19e08c1864efd862d363fda9ef6343260396b794b3c4ac74544baa2628a310eb
DIST gnucash-3.2.tar.bz2 13383942 BLAKE2B ce4beb9eab290bbc85c4b3bf68b205a8ebb274056bf10ef1721bce48ec18e4df4b488ce885dc767b4f1e951dabcdc2ba702cb5fe239f249ec50c8d2d1d12a434 SHA512 ef74cbf396096a71316e14500a5b4e57670f9e9c0c5d46f3afe051ccbae2e46a5f14edd8dd805dfb61276b934db286d48ae044160699df82689e2718ed2f7573
DIST gnucash-3.3.tar.bz2 13440713 BLAKE2B a308af90d8a8e50eb732d29c7eadac1fb75b63006da5bbaa9044039c43c1c17976c6b6fdb1706a08a527b75b1300df3a8ed469151370097b0308a173a170e41b SHA512 4bf0369ca9b3c91c98a0d916f0befc7e5675a246559a6a72dba6592b64f56f3cbd1885b0711e44e8d9cca290be742812763691ae2f639ea31ec534e52e17b3f9
DIST gtest-1.8.0.tar.gz 1281617 BLAKE2B ac052b4d0eb0d8ded03a8c7dff05177818627b8a51f2dbc2c162b2ee2a5d1323539e7d0d02236d9ebb799995e018f0171c2fdaeb4de3bb339548265e50de79e6 SHA512 1dbece324473e53a83a60601b02c92c089f5d314761351974e097b2cf4d24af4296f9eb8653b6b03b1e363d9c5f793897acae1f0c7ac40149216035c4d395d9d
diff --git a/app-office/gnucash/files/gnucash-2.7.4-double_free.patch b/app-office/gnucash/files/gnucash-2.7.4-double_free.patch
deleted file mode 100644
index 9d82e72f96b..00000000000
--- a/app-office/gnucash/files/gnucash-2.7.4-double_free.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/libgnucash/core-utils/test/test-userdata-dir.c b/libgnucash/core-utils/test/test-userdata-dir.c
-index 5a8cd5c50..a702a56aa 100644
---- a/libgnucash/core-utils/test/test-userdata-dir.c
-+++ b/libgnucash/core-utils/test/test-userdata-dir.c
-@@ -338,7 +338,6 @@ main(int argc, char **argv)
-
- /* Clean up the temporaries that were created for the GNC_DATA_HOME test run */
- g_free (home_dir);
-- g_free (tmp_dir);
- tmp_dir = g_build_filename(gnc_data_home_dir, "data", (gchar *)NULL);
- g_rmdir (tmp_dir);
- g_free (tmp_dir);
diff --git a/app-office/gnucash/files/gnucash-2.7.4-fix-tests-for-32bit-platforms.patch b/app-office/gnucash/files/gnucash-2.7.4-fix-tests-for-32bit-platforms.patch
deleted file mode 100644
index ec0e83a80bf..00000000000
--- a/app-office/gnucash/files/gnucash-2.7.4-fix-tests-for-32bit-platforms.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 3a0d2009741cdf825492020acab7c85867a60589 Mon Sep 17 00:00:00 2001
-From: Thomas Deutschmann <whissi@gentoo.org>
-Date: Thu, 22 Feb 2018 12:27:36 +0100
-Subject: [PATCH] tests: Skip tests for dates on 32-bit platforms which cannot
- be representated
-
-Tests "test_IANA_Perth_tz" and "test_IANA_Minsk_tz" are failing on 32-bit
-platforms because the earliest timestamp which can be representated on a
-32-bit platform is "1901-12-13 20:45:52" but the test ranges start before
-that date.
-
-To be safe, this commit will add code to skip tests before year 1902 on
-32-bit platforms.
-
-Bug: https://bugs.gentoo.org/647596
----
- libgnucash/engine/test/gtest-gnc-timezone.cpp | 16 ++++++++++++++++
- 1 file changed, 16 insertions(+)
-
-diff --git a/libgnucash/engine/test/gtest-gnc-timezone.cpp b/libgnucash/engine/test/gtest-gnc-timezone.cpp
-index 5c46b2618..298220f6e 100644
---- a/libgnucash/engine/test/gtest-gnc-timezone.cpp
-+++ b/libgnucash/engine/test/gtest-gnc-timezone.cpp
-@@ -154,6 +154,14 @@ TEST(gnc_timezone_constructors, test_IANA_Perth_tz)
- }
- else if (year < 1916)
- #else
-+ if (year < 1902)
-+ {
-+ // Earliest timestamp which can be represented on a 32-bit
-+ // system is "1901-12-13 20:45:52" -- so skip tests until we
-+ // reach a year >1901 to be safe
-+ continue;
-+ }
-+
- if (year < 1916)
- #endif
- {
-@@ -216,6 +224,14 @@ TEST(gnc_timezone_constructors, test_IANA_Minsk_tz)
- }
- else if (year < 1924)
- #else
-+ if (year < 1902)
-+ {
-+ // Earliest timestamp which can be represented on a 32-bit
-+ // system is "1901-12-13 20:45:52" -- so skip tests until we
-+ // reach a year >1901 to be safe
-+ continue;
-+ }
-+
- if (year < 1924)
- #endif
- {
---
-2.16.2
-
diff --git a/app-office/gnucash/gnucash-2.7.4-r1.ebuild b/app-office/gnucash/gnucash-2.7.4-r1.ebuild
deleted file mode 100644
index 770723b97a1..00000000000
--- a/app-office/gnucash/gnucash-2.7.4-r1.ebuild
+++ /dev/null
@@ -1,165 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# google{test,mock} version
-GV="1.8.0"
-PYTHON_COMPAT=( python2_7 )
-
-inherit cmake-utils gnome2-utils python-single-r1 xdg-utils
-
-DESCRIPTION="A personal finance manager"
-HOMEPAGE="http://www.gnucash.org/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2
- https://github.com/google/googletest/archive/release-${GV}.tar.gz -> gtest-${GV}.tar.gz"
-
-SLOT="0"
-LICENSE="GPL-2"
-KEYWORDS="amd64 ~ppc ~ppc64 x86"
-
-# Add doc back in for 3.0 and bump app-doc/gnucash-docs
-IUSE="aqbanking chipcard debug examples gnome-keyring mysql nls ofx postgres
- python quotes -register2 sqlite"
-REQUIRED_USE="
- chipcard? ( aqbanking )
- python? ( ${PYTHON_REQUIRED_USE} )"
-
-# libdbi version requirement for sqlite taken from bug #455134
-#
-# dev-libs/boost must always be built with nls enabled.
-RDEPEND="
- >=dev-libs/glib-2.40.0:2
- >=dev-libs/libxml2-2.7.0:2
- >=dev-scheme/guile-2.0.0:12=[regex]
- >=sys-libs/zlib-1.1.4
- >=x11-libs/gtk+-3.14.0:3
- dev-libs/boost:=[icu,nls]
- dev-libs/icu:=
- dev-libs/libxslt
- gnome-base/dconf
- net-libs/webkit-gtk:4=
- aqbanking? (
- >=net-libs/aqbanking-5[gtk,ofx?]
- sys-libs/gwenhywfar[gtk]
- chipcard? ( sys-libs/libchipcard )
- )
- gnome-keyring? ( >=app-crypt/libsecret-0.18 )
- mysql? (
- dev-db/libdbi
- dev-db/libdbi-drivers[mysql]
- )
- ofx? ( >=dev-libs/libofx-0.9.1 )
- postgres? (
- dev-db/libdbi
- dev-db/libdbi-drivers[postgres]
- )
- python? ( ${PYTHON_DEPS} )
- quotes? (
- >=dev-perl/Finance-Quote-1.11
- dev-perl/Date-Manip
- dev-perl/HTML-TableExtract
- )
- sqlite? (
- >=dev-db/libdbi-0.9.0
- >=dev-db/libdbi-drivers-0.9.0[sqlite]
- )
-"
-
-DEPEND="${RDEPEND}
- ~dev-cpp/gtest-${GV}
- dev-lang/perl
- dev-perl/XML-Parser
- dev-util/intltool
- gnome-base/gnome-common
- sys-devel/libtool
- virtual/pkgconfig
-"
-
-# Uncomment for 3.0
-# PDEPEND="doc? (
-# ~app-doc/gnucash-docs-${PV}
-# gnome-extra/yelp
-# )"
-
-PATCHES=(
- "${FILESDIR}"/${P}-double_free.patch
- "${FILESDIR}"/${P}-fix-tests-for-32bit-platforms.patch
-)
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
- xdg_environment_reset
-}
-
-src_configure() {
- local sql_on_off="OFF"
- if use mysql || use postgres || use sqlite ; then
- sql_on_off="ON"
- fi
-
- local mycmakeargs=(
- -DGMOCK_ROOT="${WORKDIR}"/googletest-release-${GV}/googlemock
- -DGTEST_ROOT="${WORKDIR}"/googletest-release-${GV}/googletest
-
- -DDISABLE_NLS=$(usex !nls)
- -DENABLE_REGISTER2=$(usex register2)
- -DWITH_AQBANKING=$(usex aqbanking)
- -DWITH_OFX=$(usex ofx)
- -DWITH_PYTHON=$(usex python)
- -DWITH_SQL=${sql_on_off}
- )
-
- cmake-utils_src_configure
-}
-
-src_test() {
- if use python ; then
- cp common/test-core/unittest_support.py \
- "${BUILD_DIR}"/common/test-core/ || die
- fi
-
- cd "${BUILD_DIR}" || die
- XDG_DATA_HOME="${T}/$(whoami)" emake check
-}
-
-src_install() {
- cmake-utils_src_install
-
- rm "${ED%/}"/usr/share/doc/${PF}/README.dependencies || die
- rm "${ED%/}"/usr/share/glib-2.0/schemas/gschemas.compiled || die
-
- if use examples ; then
- mv "${ED%/}"/usr/share/doc/gnucash \
- "${ED%/}"/usr/share/doc/${PF}/examples || die
- pushd "${ED%/}"/usr/share/doc/${PF}/examples/ > /dev/null || die
- rm AUTHORS DOCUMENTERS LICENSE NEWS projects.html ChangeLog* \
- *win32-bin.txt || die
- popd > /dev/null || die
- docompress -x /usr/share/doc/${PF}/examples/
- else
- rm -r "${ED%/}"/usr/share/doc/gnucash || die
- fi
-
- use aqbanking && dodoc doc/README.HBCI
- use ofx && dodoc doc/README.OFX
-}
-
-pkg_postinst() {
- gnome2_icon_cache_update
- gnome2_schemas_update
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
-
- ewarn "Backup all financial files or databases before using GnuCash >=2.7.0!"
- ewarn
- ewarn "GnuCash 2.7.0 introduced large changes in its file format and database"
- ewarn "schema that WILL prevent you from reverting back to GnuCash 2.6."
-}
-
-pkg_postrm() {
- gnome2_icon_cache_update
- gnome2_schemas_update
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
-}
diff --git a/app-office/gnucash/gnucash-3.2.ebuild b/app-office/gnucash/gnucash-3.2.ebuild
deleted file mode 100644
index 7d93329d001..00000000000
--- a/app-office/gnucash/gnucash-3.2.ebuild
+++ /dev/null
@@ -1,160 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# google{test,mock} version
-GV="1.8.0"
-PYTHON_COMPAT=( python3_{4,5,6} )
-
-inherit cmake-utils gnome2-utils python-single-r1 xdg-utils
-
-DESCRIPTION="A personal finance manager"
-HOMEPAGE="http://www.gnucash.org/"
-SRC_URI="https://github.com/Gnucash/${PN}/releases/download/${PV}/${P}.tar.bz2
- https://github.com/google/googletest/archive/release-${GV}.tar.gz -> gtest-${GV}.tar.gz"
-
-SLOT="0"
-LICENSE="GPL-2"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
-
-IUSE="aqbanking chipcard debug doc examples gnome-keyring mysql nls ofx postgres
- python quotes -register2 sqlite"
-REQUIRED_USE="
- chipcard? ( aqbanking )
- python? ( ${PYTHON_REQUIRED_USE} )"
-
-# libdbi version requirement for sqlite taken from bug #455134
-#
-# dev-libs/boost must always be built with nls enabled.
-RDEPEND="
- >=dev-libs/glib-2.40.0:2
- >=dev-libs/libxml2-2.7.0:2
- >=dev-scheme/guile-2.0.0:12=[regex]
- >=sys-libs/zlib-1.1.4
- >=x11-libs/gtk+-3.14.0:3
- dev-libs/boost:=[icu,nls]
- dev-libs/icu:=
- dev-libs/libxslt
- gnome-base/dconf
- net-libs/webkit-gtk:4=
- aqbanking? (
- >=net-libs/aqbanking-5[gtk,ofx?]
- sys-libs/gwenhywfar[gtk]
- chipcard? ( sys-libs/libchipcard )
- )
- gnome-keyring? ( >=app-crypt/libsecret-0.18 )
- mysql? (
- dev-db/libdbi
- dev-db/libdbi-drivers[mysql]
- )
- ofx? ( >=dev-libs/libofx-0.9.1 )
- postgres? (
- dev-db/libdbi
- dev-db/libdbi-drivers[postgres]
- )
- python? ( ${PYTHON_DEPS} )
- quotes? (
- >=dev-perl/Finance-Quote-1.11
- dev-perl/Date-Manip
- dev-perl/HTML-TableExtract
- )
- sqlite? (
- >=dev-db/libdbi-0.9.0
- >=dev-db/libdbi-drivers-0.9.0[sqlite]
- )
-"
-
-DEPEND="${RDEPEND}
- ~dev-cpp/gtest-${GV}
- >=sys-devel/gettext-0.19.6
- dev-lang/perl
- dev-perl/XML-Parser
- gnome-base/gnome-common
- sys-devel/libtool
- virtual/pkgconfig
-"
-
-PDEPEND="doc? (
- ~app-doc/gnucash-docs-${PV}
- gnome-extra/yelp
-)"
-
-#PATCHES=( "${FILESDIR}"/${PN}-2.7.4-fix-tests-for-32bit-platforms.patch )
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
- xdg_environment_reset
-}
-
-src_configure() {
- local sql_on_off="OFF"
- if use mysql || use postgres || use sqlite ; then
- sql_on_off="ON"
- fi
-
- local mycmakeargs=(
- -DGMOCK_ROOT="${WORKDIR}"/googletest-release-${GV}/googlemock
- -DGTEST_ROOT="${WORKDIR}"/googletest-release-${GV}/googletest
-
- -DDISABLE_NLS=$(usex !nls)
- -DENABLE_REGISTER2=$(usex register2)
- -DWITH_AQBANKING=$(usex aqbanking)
- -DWITH_OFX=$(usex ofx)
- -DWITH_PYTHON=$(usex python)
- -DWITH_SQL=${sql_on_off}
- )
-
- cmake-utils_src_configure
-}
-
-src_test() {
- if use python ; then
- cp common/test-core/unittest_support.py \
- "${BUILD_DIR}"/common/test-core/ || die
- fi
-
- cd "${BUILD_DIR}" || die
- XDG_DATA_HOME="${T}/$(whoami)" emake check
-}
-
-src_install() {
- cmake-utils_src_install
-
- rm "${ED%/}"/usr/share/doc/${PF}/README.dependencies || die
- rm "${ED%/}"/usr/share/glib-2.0/schemas/gschemas.compiled || die
-
- if use examples ; then
- mv "${ED%/}"/usr/share/doc/gnucash \
- "${ED%/}"/usr/share/doc/${PF}/examples || die
- pushd "${ED%/}"/usr/share/doc/${PF}/examples/ > /dev/null || die
- rm AUTHORS DOCUMENTERS LICENSE NEWS projects.html ChangeLog* \
- *win32-bin.txt || die
- popd > /dev/null || die
- docompress -x /usr/share/doc/${PF}/examples/
- else
- rm -r "${ED%/}"/usr/share/doc/gnucash || die
- fi
-
- use aqbanking && dodoc doc/README.HBCI
- use ofx && dodoc doc/README.OFX
-}
-
-pkg_postinst() {
- gnome2_icon_cache_update
- gnome2_schemas_update
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
-
- ewarn "Backup all financial files or databases before using GnuCash >=2.7.0!"
- ewarn
- ewarn "GnuCash 2.7.0 introduced large changes in its file format and database"
- ewarn "schema that WILL prevent you from reverting back to GnuCash 2.6."
-}
-
-pkg_postrm() {
- gnome2_icon_cache_update
- gnome2_schemas_update
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
-}
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-office/gnucash/, app-office/gnucash/files/
@ 2018-02-18 12:31 Aaron Swenson
0 siblings, 0 replies; 16+ messages in thread
From: Aaron Swenson @ 2018-02-18 12:31 UTC (permalink / raw
To: gentoo-commits
commit: abd6bba4c31bb6e546bb8e1da37fa971ffa55746
Author: Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Sun Feb 18 12:31:26 2018 +0000
Commit: Aaron Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Sun Feb 18 12:31:44 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=abd6bba4
app-office/gnucash: Fix 2.7.4 test failures
Fix a double-free bug in test-userdata-dir.c.
Copy over common/test-core/unittest_support.py to the BUILDDIR so that
it can be sourced by the python-bindings test.
Set XDG_DATA_HOME so that it’s pointing to the same place as TMPDIR.
Not fixed: Locale dependent tests. /etc/locale.gen needs the
following:
en_GB.UTF-8 UTF-8
en_US.UTF-8 UTF-8
fr_FR.UTF-8 UTF-8
Bug: https://bugs.gentoo.org/647596
Package-Manager: Portage-2.3.19, Repoman-2.3.6
.../gnucash/files/gnucash-2.7.4-double_free.patch | 12 ++
app-office/gnucash/gnucash-2.7.4-r1.ebuild | 162 +++++++++++++++++++++
2 files changed, 174 insertions(+)
diff --git a/app-office/gnucash/files/gnucash-2.7.4-double_free.patch b/app-office/gnucash/files/gnucash-2.7.4-double_free.patch
new file mode 100644
index 00000000000..9d82e72f96b
--- /dev/null
+++ b/app-office/gnucash/files/gnucash-2.7.4-double_free.patch
@@ -0,0 +1,12 @@
+diff --git a/libgnucash/core-utils/test/test-userdata-dir.c b/libgnucash/core-utils/test/test-userdata-dir.c
+index 5a8cd5c50..a702a56aa 100644
+--- a/libgnucash/core-utils/test/test-userdata-dir.c
++++ b/libgnucash/core-utils/test/test-userdata-dir.c
+@@ -338,7 +338,6 @@ main(int argc, char **argv)
+
+ /* Clean up the temporaries that were created for the GNC_DATA_HOME test run */
+ g_free (home_dir);
+- g_free (tmp_dir);
+ tmp_dir = g_build_filename(gnc_data_home_dir, "data", (gchar *)NULL);
+ g_rmdir (tmp_dir);
+ g_free (tmp_dir);
diff --git a/app-office/gnucash/gnucash-2.7.4-r1.ebuild b/app-office/gnucash/gnucash-2.7.4-r1.ebuild
new file mode 100644
index 00000000000..453271a8061
--- /dev/null
+++ b/app-office/gnucash/gnucash-2.7.4-r1.ebuild
@@ -0,0 +1,162 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# google{test,mock} version
+GV="1.8.0"
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-utils gnome2-utils python-single-r1 xdg-utils
+
+DESCRIPTION="A personal finance manager"
+HOMEPAGE="http://www.gnucash.org/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2
+ https://github.com/google/googletest/archive/release-${GV}.tar.gz -> gtest-${GV}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+
+# Add doc back in for 3.0 and bump app-doc/gnucash-docs
+IUSE="aqbanking chipcard debug examples gnome-keyring mysql nls ofx postgres
+ python quotes -register2 sqlite"
+REQUIRED_USE="
+ chipcard? ( aqbanking )
+ python? ( ${PYTHON_REQUIRED_USE} )"
+
+# libdbi version requirement for sqlite taken from bug #455134
+#
+# dev-libs/boost must always be built with nls enabled.
+RDEPEND="
+ >=dev-libs/glib-2.40.0:2
+ >=dev-libs/libxml2-2.7.0:2
+ >=dev-scheme/guile-2.0.0:12=[regex]
+ >=sys-libs/zlib-1.1.4
+ >=x11-libs/gtk+-3.14.0:3
+ dev-libs/boost:=[icu,nls]
+ dev-libs/icu:=
+ dev-libs/libxslt
+ gnome-base/dconf
+ net-libs/webkit-gtk:4=
+ aqbanking? (
+ >=net-libs/aqbanking-5[gtk,ofx?]
+ sys-libs/gwenhywfar[gtk]
+ chipcard? ( sys-libs/libchipcard )
+ )
+ gnome-keyring? ( >=app-crypt/libsecret-0.18 )
+ mysql? (
+ dev-db/libdbi
+ dev-db/libdbi-drivers[mysql]
+ )
+ ofx? ( >=dev-libs/libofx-0.9.1 )
+ postgres? (
+ dev-db/libdbi
+ dev-db/libdbi-drivers[postgres]
+ )
+ python? ( ${PYTHON_DEPS} )
+ quotes? (
+ >=dev-perl/Finance-Quote-1.11
+ dev-perl/Date-Manip
+ dev-perl/HTML-TableExtract
+ )
+ sqlite? (
+ >=dev-db/libdbi-0.9.0
+ >=dev-db/libdbi-drivers-0.9.0[sqlite]
+ )
+"
+
+DEPEND="${RDEPEND}
+ ~dev-cpp/gtest-${GV}
+ dev-lang/perl
+ dev-perl/XML-Parser
+ dev-util/intltool
+ gnome-base/gnome-common
+ sys-devel/libtool
+ virtual/pkgconfig
+"
+
+# Uncomment for 3.0
+# PDEPEND="doc? (
+# ~app-doc/gnucash-docs-${PV}
+# gnome-extra/yelp
+# )"
+
+PATCHES=( "${FILESDIR}"/gnucash-2.7.4-double_free.patch )
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+ xdg_environment_reset
+}
+
+src_configure() {
+ local sql_on_off="OFF"
+ if use mysql || use postgres || use sqlite ; then
+ sql_on_off="ON"
+ fi
+
+ local mycmakeargs=(
+ -DGMOCK_ROOT="${WORKDIR}"/googletest-release-${GV}/googlemock
+ -DGTEST_ROOT="${WORKDIR}"/googletest-release-${GV}/googletest
+
+ -DDISABLE_NLS=$(usex !nls)
+ -DENABLE_REGISTER2=$(usex register2)
+ -DWITH_AQBANKING=$(usex aqbanking)
+ -DWITH_OFX=$(usex ofx)
+ -DWITH_PYTHON=$(usex python)
+ -DWITH_SQL=${sql_on_off}
+ )
+
+ cmake-utils_src_configure
+}
+
+src_test() {
+ if use python ; then
+ cp common/test-core/unittest_support.py \
+ "${BUILD_DIR}"/common/test-core/ || die
+ fi
+
+ cd "${BUILD_DIR}" || die
+ XDG_DATA_HOME="${T}/$(whoami)" emake check
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ rm "${ED%/}"/usr/share/doc/${PF}/README.dependencies || die
+ rm "${ED%/}"/usr/share/glib-2.0/schemas/gschemas.compiled || die
+
+ if use examples ; then
+ mv "${ED%/}"/usr/share/doc/gnucash \
+ "${ED%/}"/usr/share/doc/${PF}/examples || die
+ pushd "${ED%/}"/usr/share/doc/${PF}/examples/ > /dev/null || die
+ rm AUTHORS DOCUMENTERS LICENSE NEWS projects.html ChangeLog* \
+ *win32-bin.txt || die
+ popd > /dev/null || die
+ docompress -x /usr/share/doc/${PF}/examples/
+ else
+ rm -r "${ED%/}"/usr/share/doc/gnucash || die
+ fi
+
+ use aqbanking && dodoc doc/README.HBCI
+ use ofx && dodoc doc/README.OFX
+}
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+ gnome2_schemas_update
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+
+ ewarn "Backup all financial files or databases before using GnuCash >=2.7.0!"
+ ewarn
+ ewarn "GnuCash 2.7.0 introduced large changes in its file format and database"
+ ewarn "schema that WILL prevent you from reverting back to GnuCash 2.6."
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+ gnome2_schemas_update
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+}
^ permalink raw reply related [flat|nested] 16+ messages in thread
end of thread, other threads:[~2024-12-26 10:19 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-08-29 10:48 [gentoo-commits] repo/gentoo:master commit in: app-office/gnucash/, app-office/gnucash/files/ Aaron Swenson
-- strict thread matches above, loose matches on Subject: below --
2024-12-26 10:19 Sam James
2024-12-26 10:19 Sam James
2024-12-26 9:57 Sam James
2024-12-26 2:54 Sam James
2024-11-03 18:54 David Seifert
2024-05-11 19:02 Aaron W. Swenson
2024-01-20 11:49 Sam James
2023-06-20 10:53 Aaron W. Swenson
2023-05-12 23:58 Sam James
2021-04-21 18:51 Sam James
2021-04-19 3:50 Matt Turner
2020-05-21 11:14 Aaron W. Swenson
2019-10-13 11:40 Andreas Sturmlechner
2018-10-07 10:19 Aaron Swenson
2018-02-18 12:31 Aaron Swenson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox