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 |
+} |