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