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