summaryrefslogtreecommitdiff
path: root/app-office/gnucash
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /app-office/gnucash
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'app-office/gnucash')
-rw-r--r--app-office/gnucash/Manifest14
-rw-r--r--app-office/gnucash/files/gnucash-2.7.4-double_free.patch12
-rw-r--r--app-office/gnucash/files/gnucash-2.7.4-fix-tests-for-32bit-platforms.patch56
-rw-r--r--app-office/gnucash/gnucash-2.7.4-r1.ebuild165
-rw-r--r--app-office/gnucash/gnucash-2.7.5.ebuild162
-rw-r--r--app-office/gnucash/gnucash-2.7.7-r1.ebuild162
-rw-r--r--app-office/gnucash/gnucash-3.0.ebuild160
-rw-r--r--app-office/gnucash/gnucash-3.1.ebuild160
-rw-r--r--app-office/gnucash/metadata.xml25
9 files changed, 916 insertions, 0 deletions
diff --git a/app-office/gnucash/Manifest b/app-office/gnucash/Manifest
new file mode 100644
index 000000000000..5232039b55ce
--- /dev/null
+++ b/app-office/gnucash/Manifest
@@ -0,0 +1,14 @@
+AUX gnucash-2.7.4-double_free.patch 553 BLAKE2B 3c59299aaf868e52834a8b7c594afedcfde35b7e6058fbe87a8fce57f2773d914b971566c831ae0a998680a3cfc69c5b1c75664087abaf1023e84fd650751592 SHA512 458bf645e16cb88e7ab37b218b442a11b02f6d3eb95fd1c4ae368813bff08bb3455666942c719f17df5348a5c775bc7e0e14507825896463624252aa24a056c9
+AUX gnucash-2.7.4-fix-tests-for-32bit-platforms.patch 1840 BLAKE2B 4de54cb147d563686febad739dddbc7e7e4f1cf92a5f1961fe4ccf452e8e2c495e7a4773a615a77835f4f1ef99d0f5d22c871c1643ada67bec216ae96dff3ce2 SHA512 f89f560e3e6d594836a431831a4a384301e405be49fccece0a761f1d2c17340a68f71ddc8cde4f7e99a2e05e2d3ddc6bda5b59e54ca0baa3a76ac63f7399d48b
+DIST gnucash-2.7.4.tar.bz2 13364512 BLAKE2B 0a552efe5a4f024517c054516eb25b51abb2f934e6fc904afd4b0fb48283f9ebb89583b83b0efefba66d014df16c8997c413d05278d4290c44e4fa2278564b61 SHA512 d096ec2a3907dcd09c936f0a49ef6fb5028a17d2e0ade9e68eae7303530480ce19e08c1864efd862d363fda9ef6343260396b794b3c4ac74544baa2628a310eb
+DIST gnucash-2.7.5.tar.bz2 13330271 BLAKE2B e06328050a2dd8e80e224cf13f51c1c7151e73f9a1c9f14581f33bfcf8bf07b273962620b7281637101eab8c5eff67a3e5e8e34d81f0c8d263ac33bf6d1eb40c SHA512 68cd6e6f61a43b8837e9efe693d22f62ebe10a8bb7d593814fb6a12d035d74ec1e444f53010ad53c6b1adf28c75aa482403c06052314a91636c2a8baa30e09af
+DIST gnucash-2.7.7.tar.bz2 13368946 BLAKE2B 06e6815af713235ea31859532911303db4fa5e8dcd50b9111aa513795963eaca29a612eeced27399441f43563753d977468dfd901a49dfa689b5d36e7b985ebf SHA512 b7d91e87c4bc4e604560f4502a86deaafa4f636e9fe2af26db53b11da9f48986c970ba0ed08cb7172ca08a5fb2da451d26976963241206c388a33555c80f28fe
+DIST gnucash-3.0.tar.bz2 13366724 BLAKE2B 4c6e87d433f203cca73f1b4ee623a4bb260bdd6812aaf24af0045384cbe8fc24cc5215b4a4bbe4f7446bfd4626ef7cf09f67f2031f49c2563784528294aae8fb SHA512 5ec13b8abe1520a7e614ceeca4c41d5dba3ebae4ec965918584963022ceb5cb3b85862289a85a72767db74a0c735214a78342a53c37e6da939ff850538174a87
+DIST gnucash-3.1-1.tar.bz2 13374530 BLAKE2B 51dcdea6b91a72288a9e9583d50edbe88303b93fe0059ea3444a0965723bb29955227df5e6eda910638f28a3eacdf367fdca1783871258b8ce396598e2b5edc0 SHA512 34d675cf1434f280345c40e6f448b3c2ac5b3cde33b15e662bbda784660ad92168e4b0d14d4fbf190cdfa6a7954806520ab4b72a7460736c78f934f803b1d5e0
+DIST gtest-1.8.0.tar.gz 1281617 BLAKE2B ac052b4d0eb0d8ded03a8c7dff05177818627b8a51f2dbc2c162b2ee2a5d1323539e7d0d02236d9ebb799995e018f0171c2fdaeb4de3bb339548265e50de79e6 SHA512 1dbece324473e53a83a60601b02c92c089f5d314761351974e097b2cf4d24af4296f9eb8653b6b03b1e363d9c5f793897acae1f0c7ac40149216035c4d395d9d
+EBUILD gnucash-2.7.4-r1.ebuild 3952 BLAKE2B 011a368e9bf441c05aaaf3681ed666151ad7a68fb849c2ceca50079f47b91265f9ef10b2cf10367393f3df5243bd59e76c7a2362c3ff498c855058412112c977 SHA512 9cdf9f7b57fa0eda3d5d3d154b194bb869fc360fdac5049e327eedb9b27d91a2e4022a3388d1c372a6d84f337c7d1be96722603e05ac4028073e6a9b7baaadc2
+EBUILD gnucash-2.7.5.ebuild 3922 BLAKE2B 072fd6a6232473c97276a2a1b1988b8f3f69b6c9de963c2429150e39a444b3035e5b33fb4417bf9cea906487165bd54bcab3dd3332d429c33c411edde499cb1c SHA512 1a57b87c6c4d894e1ca4a3948916b613756e6797b1c0eafff0dea3ba380c7c28dbd53d849eae08f80522496ed710e9578ad3c48ca69a1b4f5b349abefc4a588c
+EBUILD gnucash-2.7.7-r1.ebuild 3938 BLAKE2B caeec758f850e9bf89d6baad7e2884cf9fefa3892dbaf0dbab63be92d28664dcac46122a3f5a00bcee2b7a88cd788e611e8823da3dcc5a3ee12cf066fce2da52 SHA512 0025632752b6f45f7ec5259560ff9b7998bb8247be8ead416db1c281efded6da014770b23718e067cf54e7044537b7cbf6343d8c016ef6e1230041ea0cf123cb
+EBUILD gnucash-3.0.ebuild 3858 BLAKE2B cb09a0493a8a78237459c20d6ebd38428e20a78821a766fd247f78ab6b4a65f89dc963029fdb6259bd102de3ab3179b6cc07957129cdd01e77661f0907538973 SHA512 4f5a2c4db41525605a82da65ed0231aa90b2802b69b14667c95fbc79d289e7ab31e4a8e7596bd5ae1aa270100e7a7b72b98a2a20b3f137c8ceaaafdd5c015a93
+EBUILD gnucash-3.1.ebuild 3890 BLAKE2B 9f198bce0f8bd6deae017ae8db836d09546c8ae091b80d843e59f2fb5cd898151cdcb3fb36d99bb41e6f5fe3fdfebf1f3e6c452fcc1eac8ad82c6106409b73de SHA512 4d233e8daad07eefaed440d55cc01fdc507e6d7bdfbb8e437e8fd6251455ea5223e9315efa9bd4db7a83fc6ad862e193e296facf3c1ea7a312496b3b252e26aa
+MISC metadata.xml 766 BLAKE2B 8da7802829c98dfc8a219d6ad339081af2ed5506668e0331ce944e61a69eb7c9bfb5ac2b7a27616cf2b59081aee348654774937336b5540bab8f2333c1d577c5 SHA512 5e64d4d0a7e9570bb12793d983852deacf8a94a79a153c18e490109d68f1275f82dc584d0bda4b5e3df119660cba90c7c03852ee046a7c7a29626c05cdea6784
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 000000000000..9d82e72f96b3
--- /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/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
new file mode 100644
index 000000000000..ec0e83a80bf5
--- /dev/null
+++ b/app-office/gnucash/files/gnucash-2.7.4-fix-tests-for-32bit-platforms.patch
@@ -0,0 +1,56 @@
+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
new file mode 100644
index 000000000000..770723b97a17
--- /dev/null
+++ b/app-office/gnucash/gnucash-2.7.4-r1.ebuild
@@ -0,0 +1,165 @@
+# 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-2.7.5.ebuild b/app-office/gnucash/gnucash-2.7.5.ebuild
new file mode 100644
index 000000000000..5b65c36fec6c
--- /dev/null
+++ b/app-office/gnucash/gnucash-2.7.5.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}"/${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
+}
diff --git a/app-office/gnucash/gnucash-2.7.7-r1.ebuild b/app-office/gnucash/gnucash-2.7.7-r1.ebuild
new file mode 100644
index 000000000000..5b5dde99e048
--- /dev/null
+++ b/app-office/gnucash/gnucash-2.7.7-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=( 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="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}
+ >=sys-devel/gettext-0.19.6
+ dev-lang/perl
+ dev-perl/XML-Parser
+ 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}"/${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
+}
diff --git a/app-office/gnucash/gnucash-3.0.ebuild b/app-office/gnucash/gnucash-3.0.ebuild
new file mode 100644
index 000000000000..bc347e50c6fb
--- /dev/null
+++ b/app-office/gnucash/gnucash-3.0.ebuild
@@ -0,0 +1,160 @@
+# 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="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"
+
+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
+}
diff --git a/app-office/gnucash/gnucash-3.1.ebuild b/app-office/gnucash/gnucash-3.1.ebuild
new file mode 100644
index 000000000000..d75f0e734e36
--- /dev/null
+++ b/app-office/gnucash/gnucash-3.1.ebuild
@@ -0,0 +1,160 @@
+# 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}-1.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
+}
diff --git a/app-office/gnucash/metadata.xml b/app-office/gnucash/metadata.xml
new file mode 100644
index 000000000000..f0b8ab6233e1
--- /dev/null
+++ b/app-office/gnucash/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>titanofold@gentoo.org</email>
+ <name>Aaron W. Swenson</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <use>
+ <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>
+ <upstream>
+ <remote-id type="sourceforge">gnucash</remote-id>
+ </upstream>
+</pkgmetadata>