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