Gentoo Archives: gentoo-commits

From: "Aaron W. Swenson" <titanofold@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-office/gnucash/
Date: Mon, 28 Sep 2020 01:40:22
Message-Id: 1601257195.1124ee57abc5f73bab4e5633d0d4a8e617d0bcc0.titanofold@gentoo
1 commit: 1124ee57abc5f73bab4e5633d0d4a8e617d0bcc0
2 Author: Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
3 AuthorDate: Mon Sep 28 01:38:48 2020 +0000
4 Commit: Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
5 CommitDate: Mon Sep 28 01:39:55 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1124ee57
7
8 app-office/gnucash: Bump to 4.2
9
10 Signed-off-by: Aaron W. Swenson <titanofold <AT> gentoo.org>
11
12 app-office/gnucash/Manifest | 1 +
13 app-office/gnucash/gnucash-4.2.ebuild | 234 ++++++++++++++++++++++++++++++++++
14 2 files changed, 235 insertions(+)
15
16 diff --git a/app-office/gnucash/Manifest b/app-office/gnucash/Manifest
17 index daceb7e1685..3693e01abc4 100644
18 --- a/app-office/gnucash/Manifest
19 +++ b/app-office/gnucash/Manifest
20 @@ -1,3 +1,4 @@
21 DIST gnucash-3.8b.tar.bz2 14285584 BLAKE2B 304d73b04883b61b8a4e174f458206769483ca0f6d28d284c760397e0bc4061dbdb379ff3cca35e80d6736516549a8733bf36895a11c2202fb9f8f25e591e1d9 SHA512 e0529934e9ccafbef2b724f5fca9a0e300c78cf21596f0dcd4b5c11ff300c06a963b68eff1efe00834dc488ced604b86011075bb22480488ddf31d2d4c94ddca
22 DIST gnucash-4.0.tar.bz2 13978744 BLAKE2B 9718e365e1a3939357fabb98f43a95ed22d4d4ee13bb17a7dda5da8ed2c4fe6c4ec4951eb1b5a66bd71feb3f26a4e896d5cb7a177cd7d1b773ac26e643a24f0a SHA512 29fd61352932ff0962e5c634711bc1ae09020e457bace5d2954b743976b607ad3632ddf6a7024148e989dc8e69769400cb7795eee097f8d88dea3ac8d6b7c7ee
23 DIST gnucash-4.1.tar.bz2 13994973 BLAKE2B 875ec0d9b2b6b8ec7144ad52f172f6727078746884d8d1d369a4b7535ebe5bcc0c70b4a25f1ba8e3f97d0603a8d511c9911e343f2610b557511b56eafbea8f39 SHA512 caf25d4ca0a950b1aa0c236c801938ff2235dc7c7710065a5b78fd3745904dd5e5103c6ed8abebfe3a4a68c8048372802f856c63cdde8aeaf71840daf2e9ec07
24 +DIST gnucash-4.2.tar.bz2 14225695 BLAKE2B be77c5876cd1720e9b7422c6afbb05f0144a20cf45d7dac0e8bd3362139f4b4d18f47f0edcb6db9db7a2485263d6bff5e0546f5691fe097fe1d4912852bc0ce4 SHA512 f730d2ba5d6b310e0c467767aa4c4e6a153b441b6b9aed948344b9a9b9dee351f3cba9fac1d655385136f5ce4313f8f37ef305e9b93b0ea32c40525d9293b070
25
26 diff --git a/app-office/gnucash/gnucash-4.2.ebuild b/app-office/gnucash/gnucash-4.2.ebuild
27 new file mode 100644
28 index 00000000000..5aba7f54f2a
29 --- /dev/null
30 +++ b/app-office/gnucash/gnucash-4.2.ebuild
31 @@ -0,0 +1,234 @@
32 +# Copyright 1999-2020 Gentoo Authors
33 +# Distributed under the terms of the GNU General Public License v2
34 +
35 +EAPI=7
36 +
37 +PYTHON_COMPAT=( python3_{6,7,8,9} )
38 +
39 +inherit cmake gnome2-utils python-single-r1 toolchain-funcs xdg-utils
40 +
41 +DESCRIPTION="A personal finance manager"
42 +HOMEPAGE="http://www.gnucash.org/"
43 +SRC_URI="https://github.com/Gnucash/${PN}/releases/download/${PV}/${P}.tar.bz2"
44 +
45 +SLOT="0"
46 +LICENSE="GPL-2"
47 +KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86"
48 +
49 +IUSE="aqbanking debug doc examples gnome-keyring +gui mysql nls ofx postgres
50 + python quotes -register2 smartcard sqlite test"
51 +RESTRICT="!test? ( test )"
52 +
53 +# Examples doesn't build unless GUI is also built
54 +REQUIRED_USE="
55 + examples? ( gui )
56 + python? ( ${PYTHON_REQUIRED_USE} )
57 + smartcard? ( aqbanking )"
58 +
59 +# dev-libs/boost must always be built with nls enabled.
60 +# net-libs/aqbanking dropped gtk with v6. So, to simplify the
61 +# dependency, we just rely on that.
62 +RDEPEND="
63 + >=dev-libs/glib-2.56.1:2
64 + >=dev-scheme/guile-2.2.0:=[regex]
65 + >=sys-libs/zlib-1.1.4
66 + dev-libs/boost:=[icu,nls]
67 + dev-libs/icu:=
68 + dev-libs/libxml2:2
69 + dev-libs/libxslt
70 + aqbanking? (
71 + >=net-libs/aqbanking-6[ofx?]
72 + sys-libs/gwenhywfar
73 + smartcard? ( sys-libs/libchipcard )
74 + )
75 + gnome-keyring? ( >=app-crypt/libsecret-0.18 )
76 + gui? (
77 + >=x11-libs/gtk+-3.22.30:3
78 + gnome-base/dconf
79 + net-libs/webkit-gtk:4=
80 + aqbanking? ( sys-libs/gwenhywfar[gtk] )
81 + )
82 + mysql? (
83 + dev-db/libdbi
84 + dev-db/libdbi-drivers[mysql]
85 + )
86 + ofx? ( >=dev-libs/libofx-0.9.1:= )
87 + postgres? (
88 + dev-db/libdbi
89 + dev-db/libdbi-drivers[postgres]
90 + )
91 + python? ( ${PYTHON_DEPS} )
92 + quotes? (
93 + >=dev-perl/Finance-Quote-1.11
94 + dev-perl/Date-Manip
95 + dev-perl/HTML-TableExtract
96 + )
97 + sqlite? (
98 + dev-db/libdbi
99 + dev-db/libdbi-drivers[sqlite]
100 + )
101 +"
102 +
103 +DEPEND="${RDEPEND}
104 + >=dev-cpp/gtest-1.8.0
105 + >=sys-devel/gettext-0.20
106 + dev-lang/perl
107 + dev-perl/XML-Parser
108 + sys-devel/libtool
109 +"
110 +
111 +BDEPEND="
112 + dev-lang/swig
113 + dev-util/cmake
114 + virtual/pkgconfig
115 + || (
116 + >=sys-devel/gcc-8:*
117 + >=sys-devel/clang-6:*
118 + )
119 +"
120 +
121 +PDEPEND="doc? (
122 + ~app-doc/gnucash-docs-${PV}
123 + gnome-extra/yelp
124 +)"
125 +
126 +PATCHES=(
127 + "${FILESDIR}"/${PN}-3.2-no-gui.patch
128 + "${FILESDIR}"/${PN}-3.8-examples-subdir.patch
129 + "${FILESDIR}"/${PN}-3.8-exclude-license.patch
130 +)
131 +
132 +S="${WORKDIR}/${PN}-$(ver_cut 1-2)"
133 +
134 +pkg_pretend() {
135 + if tc-is-gcc; then
136 + if [[ $(gcc-major-version) -lt 8 ]]; then
137 + die "GnuCash needs at least GCC version 8."
138 + fi
139 + elif tc-is-clang; then
140 + if [[ $(clang-major-version) -lt 6 ]]; then
141 + die "GnuCash needs at least clang version 6."
142 + fi
143 + fi
144 +}
145 +
146 +pkg_setup() {
147 + use python && python-single-r1_pkg_setup
148 + xdg_environment_reset
149 +}
150 +
151 +src_prepare() {
152 + cmake_src_prepare
153 +
154 + # Fix tests writing to /tmp
155 + local fixtestfiles=(
156 + gnucash/report/test/test-report-html.scm
157 + gnucash/report/reports/standard/test/test-invoice.scm
158 + gnucash/report/reports/standard/test/test-new-owner-report.scm
159 + gnucash/report/reports/standard/test/test-owner-report.scm
160 + gnucash/report/reports/standard/test/test-transaction.scm
161 + gnucash/report/reports/standard/test/test-portfolios.scm
162 + gnucash/report/reports/standard/test/test-charts.scm
163 + gnucash/report/test/test-report.scm
164 + gnucash/report/test/test-commodity-utils.scm
165 + gnucash/report/test/test-report-extras.scm
166 + libgnucash/backend/dbi/test/test-backend-dbi-basic.cpp
167 + libgnucash/backend/xml/test/test-xml-pricedb.cpp
168 + )
169 + for x in "${fixtestfiles[@]}"; do
170 + sed -i -e "s|\"/tmp/|\"${T}/|g" "${S}/${x}" || die "sed of "${S}/${x}" failed"
171 + done
172 +}
173 +
174 +src_configure() {
175 + export GUILE_AUTO_COMPILE=0
176 +
177 + local sql_on_off="OFF"
178 + if use mysql || use postgres || use sqlite ; then
179 + sql_on_off="ON"
180 + fi
181 +
182 + local mycmakeargs=(
183 + -DCOMPILE_GSCHEMAS=OFF
184 + -DDISABLE_NLS=$(usex !nls)
185 + -DENABLE_REGISTER2=$(usex register2)
186 + -DWITH_AQBANKING=$(usex aqbanking)
187 + -DWITH_OFX=$(usex ofx)
188 + -DWITH_PYTHON=$(usex python)
189 + -DWITH_SQL=${sql_on_off}
190 + -DWITH_GNUCASH=$(usex gui)
191 + )
192 +
193 + cmake_src_configure
194 +}
195 +
196 +src_test() {
197 + if use python ; then
198 + cp common/test-core/unittest_support.py \
199 + "${BUILD_DIR}"/common/test-core/ || die
200 + fi
201 +
202 + LOCALE_TESTS=
203 + if type locale >/dev/null 2>&1; then
204 + MY_LOCALES="$(locale -a)"
205 + if [[ "${MY_LOCALES}" != *en_US* ||
206 + "${MY_LOCALES}" != *en_GB* ||
207 + "${MY_LOCALES}" != *fr_FR* ]] ; then
208 + ewarn "Missing one or more of en_US, en_GB, or fr_FR locales."
209 + else
210 + LOCALE_TESTS=true
211 + fi
212 + else
213 + ewarn "'locale' not found."
214 + fi
215 +
216 + if [[ ! ${LOCALE_TESTS} ]]; then
217 + ewarn "Disabling test-qof and test-gnc-numeric."
218 + echo 'set(CTEST_CUSTOM_TESTS_IGNORE test-qof test-gnc-numeric)' \
219 + > "${BUILD_DIR}"/CTestCustom.cmake || die
220 + fi
221 +
222 + cd "${BUILD_DIR}" || die
223 + XDG_DATA_HOME="${T}/$(whoami)" eninja check
224 +}
225 +
226 +src_install() {
227 + cmake_src_install
228 +
229 + # strip is unable to recognise the format of the input files (*.go)
230 + dostrip -x /usr/$(get_libdir)/guile
231 +
232 + if use examples ; then
233 + docompress -x /usr/share/doc/${PF}/examples
234 + else
235 + rm -r "${ED}"/usr/share/doc/${PF}/examples
236 + fi
237 +
238 + if use python ; then
239 + python_optimize
240 + python_optimize "${ED}"/usr/share/gnucash/python
241 + fi
242 +}
243 +
244 +pkg_postinst() {
245 + if use gui ; then
246 + xdg_icon_cache_update
247 + gnome2_schemas_update
248 + fi
249 + xdg_desktop_database_update
250 + xdg_mimeinfo_database_update
251 +
252 + ewarn "Backup all financial files or databases before using GnuCash >=2.7.0!"
253 + ewarn
254 + ewarn "GnuCash 2.7.0 introduced large changes in its file format and database"
255 + ewarn "schema that WILL prevent you from reverting back to GnuCash 2.6."
256 +}
257 +
258 +pkg_postrm() {
259 + if use gui ; then
260 + xdg_icon_cache_update
261 + gnome2_schemas_update
262 + fi
263 + xdg_desktop_database_update
264 + xdg_mimeinfo_database_update
265 +}