Gentoo Archives: gentoo-commits

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