app-office/gnucash: Cleanup

Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Aaron W. Swenson <titanofold@gentoo.org>
This commit is contained in:
Aaron W. Swenson
2020-05-21 07:13:21 -04:00
parent ff6088c3d5
commit 96db598922
12 changed files with 0 additions and 1632 deletions

View File

@@ -1,8 +1 @@
DIST gnucash-3.2.tar.bz2 13383942 BLAKE2B ce4beb9eab290bbc85c4b3bf68b205a8ebb274056bf10ef1721bce48ec18e4df4b488ce885dc767b4f1e951dabcdc2ba702cb5fe239f249ec50c8d2d1d12a434 SHA512 ef74cbf396096a71316e14500a5b4e57670f9e9c0c5d46f3afe051ccbae2e46a5f14edd8dd805dfb61276b934db286d48ae044160699df82689e2718ed2f7573
DIST gnucash-3.3.tar.bz2 13440713 BLAKE2B a308af90d8a8e50eb732d29c7eadac1fb75b63006da5bbaa9044039c43c1c17976c6b6fdb1706a08a527b75b1300df3a8ed469151370097b0308a173a170e41b SHA512 4bf0369ca9b3c91c98a0d916f0befc7e5675a246559a6a72dba6592b64f56f3cbd1885b0711e44e8d9cca290be742812763691ae2f639ea31ec534e52e17b3f9
DIST gnucash-3.4.tar.bz2 13564432 BLAKE2B 478d8e2e4acbd0725ceaf997a1e62ba3875e9d4a003e8a3e69111a9d29118447fb2da8ef3e5dd5274d83a3adef1ee9f4a153cdfd17cabe69864b53bab8c7e813 SHA512 4cebef0ba70e59a82d3b2b7b0b138ddb22e8866dc761e156ff1f15920145d12923719effef21ad4c65ccd62fbd14a1529cf0bfcaab70c5b33d103761d08062e0
DIST gnucash-3.5.tar.bz2 13766397 BLAKE2B b840fa6af719e1d21daabd8e26f7026a12ca9cefe8c0f644a8382b42c34a6dec2dfc67350645437c2f12792518f289f446824a8c99ea83453e69d976c3cd5c9c SHA512 76230d2fe1ba4cc605d0d58976ed3214b10a2549fc7eaa1e327bbf85c861baa082523c70ed088a59bb56deb6af9a7808752fc719eda0df3e9209cec05c9c8d13
DIST gnucash-3.6.tar.bz2 13811045 BLAKE2B aa722755e168b6096a8ad0bb05d3c67be9525d5e9e6fcf076c0b6bdc3188815017c2b1bcb308a6f8a7581315f7d9ab67f85b24486214ebbe7ea5a0428e552ea7 SHA512 3d99235a6171e7189dbb15fed11e7f3acb4f49ef8dc6124b26807e74ce4326ac5ae6e23e693a34947604ecb0253ecbcd80f669803a629eb7d236fd3444dbfe82
DIST gnucash-3.7.tar.bz2 13896595 BLAKE2B d0f0cc9d407677c8b09eab5c1613a0eec80bc54984aebd10915f2f2247ea30c26104cea57c87dd6e46ade9225c9df20c583da21de15f79d50509e63186b682fe SHA512 41275b8d6abba54e95c00d746a2d50305fb7a0490b5486af1472a5d50d2de5973d1ec4de98dd10991325062e61498de020496b59d8548b5a4de9db9d23dee159
DIST gnucash-3.8b.tar.bz2 14285584 BLAKE2B 304d73b04883b61b8a4e174f458206769483ca0f6d28d284c760397e0bc4061dbdb379ff3cca35e80d6736516549a8733bf36895a11c2202fb9f8f25e591e1d9 SHA512 e0529934e9ccafbef2b724f5fca9a0e300c78cf21596f0dcd4b5c11ff300c06a963b68eff1efe00834dc488ced604b86011075bb22480488ddf31d2d4c94ddca
DIST gtest-1.8.0.tar.gz 1281617 BLAKE2B ac052b4d0eb0d8ded03a8c7dff05177818627b8a51f2dbc2c162b2ee2a5d1323539e7d0d02236d9ebb799995e018f0171c2fdaeb4de3bb339548265e50de79e6 SHA512 1dbece324473e53a83a60601b02c92c089f5d314761351974e097b2cf4d24af4296f9eb8653b6b03b1e363d9c5f793897acae1f0c7ac40149216035c4d395d9d

View File

@@ -1,315 +0,0 @@
(use-modules (ice-9 textual-ports))
(use-modules (ice-9 popen))
(use-modules (gnucash utilities))
(use-modules (gnucash gnc-module))
(gnc:module-begin-syntax (gnc:module-load "gnucash/app-utils" 0))
(use-modules (gnucash engine test test-extras))
(use-modules (gnucash report standard-reports))
(use-modules (gnucash report business-reports))
(use-modules (gnucash report view-column))
(use-modules (gnucash report stylesheets))
(use-modules (gnucash report taxinvoice))
(use-modules (gnucash report report-system))
(use-modules (gnucash report report-system test test-extras))
(use-modules (srfi srfi-64))
(use-modules (srfi srfi-98))
(use-modules (gnucash engine test srfi64-extras))
(use-modules (sxml simple))
(use-modules (sxml xpath))
;; NOTE
;; ----
;; SIMPLE stress tests by default
;;
;; PAIRWISE COMBINATORICS are enabled by setting environment variable COMBINATORICS
;; to the fullpath for the compiled jenny from http://burtleburtle.net/bob/math/jenny.html
;;
;; e.g. COMBINATORICS=/home/user/jenny/jenny ninja check
(define optionslist '())
(define (generate-optionslist)
(gnc:report-templates-for-each
(lambda (report-id template)
(let* ((options-generator (gnc:report-template-options-generator template))
(name (gnc:report-template-name template))
(options (options-generator)))
(set! optionslist
(cons (list (cons 'report-id report-id)
(cons 'report-name (gnc:report-template-name template))
(cons 'options (let ((report-options-tested '()))
(gnc:options-for-each
(lambda (option)
(when (memq (gnc:option-type option)
'(multichoice boolean))
(set! report-options-tested
(cons (vector
(gnc:option-section option)
(gnc:option-name option)
(gnc:option-type option)
(case (gnc:option-type option)
((multichoice) (map (lambda (d) (vector-ref d 0))
(gnc:option-data option)))
((boolean) (list #t #f))))
report-options-tested))))
options)
report-options-tested)))
optionslist))))))
;; Explicitly set locale to make the report output predictable
(setlocale LC_ALL "C")
(define (run-test)
(test-runner-factory gnc:test-runner)
(test-begin "stress options")
(generate-optionslist)
(tests)
(test-end "stress options"))
(define jennypath
(get-environment-variable "COMBINATORICS"))
(define jenny-exists?
;; this is a simple test for presence of jenny - will check
;; COMBINATORICS env exists, and running it produces exit-code of
;; zero, and tests the first few letters of its output.
(and (string? jennypath)
(zero? (system jennypath))
(string=? (string-take (get-string-all (open-input-pipe jennypath)) 6)
"jenny:")))
(define (set-option! options section name value)
(let ((option (gnc:lookup-option options section name)))
(if option
(gnc:option-set-value option value))))
(define (mnemonic->commodity sym)
(gnc-commodity-table-lookup
(gnc-commodity-table-get-table (gnc-get-current-book))
(gnc-commodity-get-namespace (gnc-default-report-currency))
sym))
(define structure
(list "Root" (list (cons 'type ACCT-TYPE-ASSET))
(list "Asset"
(list "Bank")
(list "GBP Bank" (list (cons 'commodity (mnemonic->commodity "GBP"))))
(list "Wallet"))
(list "Income" (list (cons 'type ACCT-TYPE-INCOME)))
(list "Income-GBP" (list (cons 'type ACCT-TYPE-INCOME)
(cons 'commodity (mnemonic->commodity "GBP"))))
(list "Expenses" (list (cons 'type ACCT-TYPE-EXPENSE)))
(list "Liabilities" (list (cons 'type ACCT-TYPE-LIABILITY)))
(list "Equity" (list (cons 'type ACCT-TYPE-EQUITY)))
))
(define (simple-stress-test report-name uuid report-options)
(let ((options (gnc:make-report-options uuid)))
(test-assert (format #f "basic test ~a" report-name)
(gnc:options->render uuid options (string-append "stress-" report-name) "test"))
(format #t "Testing SIMPLE combinations for:\n~a" report-name)
(for-each
(lambda (option)
(format #t ",~a/~a"
(vector-ref option 0)
(vector-ref option 1)))
report-options)
(newline)
(for-each
(lambda (idx)
(display report-name)
(for-each
(lambda (option)
(let* ((section (vector-ref option 0))
(name (vector-ref option 1))
(value (list-ref (vector-ref option 3)
(modulo idx (length (vector-ref option 3))))))
(set-option! options section name value)
(format #t ",~a"
(cond
((boolean? value) (if value 't 'f))
(else value)))))
report-options)
(catch #t
(lambda ()
(gnc:options->render uuid options "stress-test" "test")
(display "[pass]\n"))
(lambda (k . args)
(format #t "[fail]... error: (~s . ~s) options-list are:\n~a"
k args
(gnc:html-render-options-changed options #t))
(test-assert "logging test failure as above..."
#f))))
(iota
(apply max
(map (lambda (opt) (length (vector-ref opt 3)))
report-options)))
)))
(define (combinatorial-stress-test report-name uuid report-options)
(let* ((options (gnc:make-report-options uuid))
(render #f))
(test-assert (format #f "basic test ~a" report-name)
(set! render
(gnc:options->render
uuid options (string-append "stress-" report-name) "test")))
(if render
(begin
(format #t "Testing n-tuple combinatorics for:\n~a" report-name)
(for-each
(lambda (option)
(format #t ",~a/~a"
(vector-ref option 0)
(vector-ref option 1)))
report-options)
(newline)
;; generate combinatorics
(let* ((option-lengths (map (lambda (report-option)
(length (vector-ref report-option 3)))
report-options))
(jennyargs (string-join (map number->string option-lengths) " "))
(n-tuple (min
;; the following is the n-tuple
2
(length report-options)))
(cmdline (format #f "~a -n~a ~a"
jennypath n-tuple jennyargs))
(jennyout (get-string-all (open-input-pipe cmdline)))
(test-cases (string-split jennyout #\newline)))
(for-each
(lambda (case)
(unless (string-null? case)
(let* ((choices-str (string-filter char-alphabetic? case))
(choices-alpha (map char->integer (string->list choices-str)))
(choices (map (lambda (n)
(- n (if (> n 96) 97 39))) ; a-z -> 0-25, and A-Z -> 26-51
choices-alpha)))
(let loop ((option-idx (1- (length report-options)))
(option-summary '()))
(if (negative? option-idx)
(catch #t
(lambda ()
(gnc:options->render uuid options "stress-test" "test")
(format #t "[pass] ~a:~a \n"
report-name
(string-join option-summary ",")))
(lambda (k . args)
(format #t "[fail]... error (~s . ~s) options-list are:\n~a"
k args
(gnc:html-render-options-changed options #t))
(test-assert "logging test failure as above..."
#f)))
(let* ((option (list-ref report-options option-idx))
(section (vector-ref option 0))
(name (vector-ref option 1))
(value (list-ref (vector-ref option 3)
(list-ref choices option-idx))))
(set-option! options section name value)
(loop (1- option-idx)
(cons (format #f "~a"
(cond
((boolean? value) (if value 't 'f))
(else value)))
option-summary))))))))
test-cases)))
(display "...aborted due to basic test failure"))))
(define test
;; what strategy are we using here? simple stress test (ie tests as
;; many times as the maximum number of options) or combinatorial
;; tests (using jenny)
(if jenny-exists?
combinatorial-stress-test
simple-stress-test))
(define (create-test-data)
(let* ((env (create-test-env))
(account-alist (env-create-account-structure-alist env structure))
(bank (cdr (assoc "Bank" account-alist)))
(gbp-bank (cdr (assoc "GBP Bank" account-alist)))
(wallet (cdr (assoc "Wallet" account-alist)))
(income (cdr (assoc "Income" account-alist)))
(gbp-income (cdr (assoc "Income-GBP" account-alist)))
(expense (cdr (assoc "Expenses" account-alist)))
(liability (cdr (assoc "Liabilities" account-alist)))
(equity (cdr (assoc "Equity" account-alist))))
;; populate datafile with old transactions
(env-transfer env 01 01 1970 bank expense 5 #:description "desc-1" #:num "trn1" #:memo "memo-3")
(env-transfer env 31 12 1969 income bank 10 #:description "desc-2" #:num "trn2" #:void-reason "void" #:notes "notes3")
(env-transfer env 31 12 1969 income bank 29 #:description "desc-3" #:num "trn3"
#:reconcile (cons #\c (gnc-dmy2time64 01 03 1970)))
(env-transfer env 01 02 1970 bank expense 15 #:description "desc-4" #:num "trn4" #:notes "notes2" #:memo "memo-1")
(env-transfer env 10 01 1970 liability expense 10 #:description "desc-5" #:num "trn5" #:void-reason "any")
(env-transfer env 10 01 1970 liability expense 11 #:description "desc-6" #:num "trn6" #:notes "notes1")
(env-transfer env 10 02 1970 bank liability 8 #:description "desc-7" #:num "trn7" #:notes "notes1" #:memo "memo-2"
#:reconcile (cons #\y (gnc-dmy2time64 01 03 1970)))
(let ((txn (xaccMallocTransaction (gnc-get-current-book)))
(split-1 (xaccMallocSplit (gnc-get-current-book)))
(split-2 (xaccMallocSplit (gnc-get-current-book)))
(split-3 (xaccMallocSplit (gnc-get-current-book))))
(xaccTransBeginEdit txn)
(xaccTransSetDescription txn "$100bank -> $80expenses + $20wallet")
(xaccTransSetCurrency txn (xaccAccountGetCommodity bank))
(xaccTransSetDate txn 14 02 1971)
(xaccSplitSetParent split-1 txn)
(xaccSplitSetParent split-2 txn)
(xaccSplitSetParent split-3 txn)
(xaccSplitSetAccount split-1 bank)
(xaccSplitSetAccount split-2 expense)
(xaccSplitSetAccount split-3 wallet)
(xaccSplitSetValue split-1 -100)
(xaccSplitSetValue split-2 80)
(xaccSplitSetValue split-3 20)
(xaccSplitSetAmount split-1 -100)
(xaccSplitSetAmount split-2 80)
(xaccSplitSetAmount split-3 20)
(xaccTransSetNotes txn "multisplit")
(xaccTransCommitEdit txn))
(let ((closing-txn (env-transfer env 31 12 1977 expense equity 111 #:description "Closing")))
(xaccTransSetIsClosingTxn closing-txn #t))
(env-transfer-foreign env 15 01 2000 gbp-bank bank 10 14 #:description "GBP 10 to USD 14")
(env-transfer-foreign env 15 02 2000 bank gbp-bank 9 6 #:description "USD 9 to GBP 6")
(for-each (lambda (m)
(env-transfer env 08 (1+ m) 1978 gbp-income gbp-bank 51 #:description "#51 income")
(env-transfer env 03 (1+ m) 1978 income bank 103 #:description "$103 income")
(env-transfer env 15 (1+ m) 1978 bank expense 22 #:description "$22 expense")
(env-transfer env 09 (1+ m) 1978 income bank 109 #:description "$109 income"))
(iota 12))
(let ((mid (floor (/ (+ (gnc-accounting-period-fiscal-start)
(gnc-accounting-period-fiscal-end)) 2))))
(env-create-transaction env mid bank income 200))))
(define (run-tests prefix)
(for-each
(lambda (option-set)
(let ((report-name (assq-ref option-set 'report-name))
(report-guid (assq-ref option-set 'report-id))
(report-options (assq-ref option-set 'options)))
(if (member report-name
;; these reports seem to cause problems when running...
'(
;; eguile-based reports
"Tax Invoice"
"Receipt"
"Australian Tax Invoice"
"Balance Sheet (eguile)"
;; tax-schedule - locale-dependent?
"Tax Schedule Report/TXF Export"
;; unusual reports
"Welcome to GnuCash"
"Hello, World"
"Multicolumn View"
"General Journal"
))
(format #t "\nSkipping ~a ~a...\n" report-name prefix)
(begin
(format #t "\nTesting ~a ~a...\n" report-name prefix)
(test report-name report-guid report-options)))))
optionslist))
(define (tests)
(run-tests "with empty book")
(create-test-data)
(run-tests "on a populated book"))

View File

@@ -1,25 +0,0 @@
From 95bee405cf5568f5899287ba62058cf894361676 Mon Sep 17 00:00:00 2001
From: Christopher Lam <christopher.lck@gmail.com>
Date: Wed, 2 Jan 2019 00:00:56 +0800
Subject: [PATCH] [test-transaction] fix a test which was hardcoded to 2018.
This test was hard-coded to pass in 2018. Fix.
---
gnucash/report/standard-reports/test/test-transaction.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gnucash/report/standard-reports/test/test-transaction.scm b/gnucash/report/standard-reports/test/test-transaction.scm
index 755aba2983..2f428e24e9 100644
--- a/gnucash/report/standard-reports/test/test-transaction.scm
+++ b/gnucash/report/standard-reports/test/test-transaction.scm
@@ -652,8 +652,8 @@
(list "Grand Total" "$2,280.00" "$2,280.00")
(get-row-col sxml -1 #f))
(test-equal "dual amount column, first transaction correct"
- (list "01/03/18" "$103 income" "Root.Asset.Bank" "$103.00" "$103.00")
- (get-row-col sxml 1 #f)))
+ (list "$103 income" "Root.Asset.Bank" "$103.00" "$103.00")
+ (cdr (get-row-col sxml 1 #f))))
)
(test-end "display options")

View File

@@ -1,12 +0,0 @@
Bug: https://bugs.gentoo.org/690270
--- a/gnucash/register/register-gnome/CMakeLists.txt
+++ b/gnucash/register/register-gnome/CMakeLists.txt
@@ -1,5 +1,7 @@
add_subdirectory(test)
+include(CheckSymbolExists)
+
#GTK before 3.14 didn't have GDK_MODIFIER_INTENT_DEFAULT_MOD_MASK
check_symbol_exists(GDK_MODIFIER_INTENT_DEFAULT_MOD_MASK gdk/gdktypes.h have_mod_mask)
if (NOT have_mod_mask)

View File

@@ -1,169 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
# google{test,mock} version
GV="1.8.0"
PYTHON_COMPAT=( python3_6 )
inherit cmake-utils gnome2-utils python-single-r1 xdg-utils
DESCRIPTION="A personal finance manager"
HOMEPAGE="http://www.gnucash.org/"
SRC_URI="https://github.com/Gnucash/${PN}/releases/download/${PV}/${P}.tar.bz2
https://github.com/google/googletest/archive/release-${GV}.tar.gz -> gtest-${GV}.tar.gz"
SLOT="0"
LICENSE="GPL-2"
KEYWORDS="amd64 ~ppc ~ppc64 x86"
IUSE="aqbanking chipcard debug doc examples gnome-keyring mysql nls ofx postgres
python quotes -register2 sqlite +gui"
REQUIRED_USE="
chipcard? ( aqbanking )
python? ( ${PYTHON_REQUIRED_USE} )"
# libdbi version requirement for sqlite taken from bug #455134
#
# dev-libs/boost must always be built with nls enabled.
RDEPEND="
>=dev-libs/glib-2.40.0:2
>=dev-libs/libxml2-2.7.0:2
>=sys-libs/zlib-1.1.4
>=dev-scheme/guile-2.0.0:12=[regex]
dev-libs/boost:=[icu,nls]
dev-libs/icu:=
dev-libs/libxslt
aqbanking? (
>=net-libs/aqbanking-5[gtk,ofx?]
sys-libs/gwenhywfar[gtk]
chipcard? ( sys-libs/libchipcard )
)
gnome-keyring? ( >=app-crypt/libsecret-0.18 )
gui? (
gnome-base/dconf
net-libs/webkit-gtk:4=
>=x11-libs/gtk+-3.14.0:3
)
mysql? (
dev-db/libdbi
dev-db/libdbi-drivers[mysql]
)
ofx? ( >=dev-libs/libofx-0.9.1 )
postgres? (
dev-db/libdbi
dev-db/libdbi-drivers[postgres]
)
python? ( ${PYTHON_DEPS} )
quotes? (
>=dev-perl/Finance-Quote-1.11
dev-perl/Date-Manip
dev-perl/HTML-TableExtract
)
sqlite? (
>=dev-db/libdbi-0.9.0
>=dev-db/libdbi-drivers-0.9.0[sqlite]
)
"
DEPEND="${RDEPEND}
~dev-cpp/gtest-${GV}
>=sys-devel/gettext-0.19.6
dev-lang/perl
dev-perl/XML-Parser
sys-devel/libtool
virtual/pkgconfig
"
PDEPEND="doc? (
~app-doc/gnucash-docs-${PV}
gnome-extra/yelp
)"
PATCHES=( "${FILESDIR}"/${PN}-3.2-no-gui.patch )
pkg_setup() {
use python && python-single-r1_pkg_setup
xdg_environment_reset
}
src_configure() {
local sql_on_off="OFF"
if use mysql || use postgres || use sqlite ; then
sql_on_off="ON"
fi
local mycmakeargs=(
-DGMOCK_ROOT="${WORKDIR}"/googletest-release-${GV}/googlemock
-DGTEST_ROOT="${WORKDIR}"/googletest-release-${GV}/googletest
-DDISABLE_NLS=$(usex !nls)
-DENABLE_REGISTER2=$(usex register2)
-DWITH_AQBANKING=$(usex aqbanking)
-DWITH_OFX=$(usex ofx)
-DWITH_PYTHON=$(usex python)
-DWITH_SQL=${sql_on_off}
-DWITH_GNUCASH=$(usex gui)
)
cmake-utils_src_configure
}
src_test() {
if use python ; then
cp common/test-core/unittest_support.py \
"${BUILD_DIR}"/common/test-core/ || die
fi
cd "${BUILD_DIR}" || die
XDG_DATA_HOME="${T}/$(whoami)" emake check
}
src_install() {
cmake-utils_src_install
rm "${ED%/}"/usr/share/doc/${PF}/README.dependencies || die
if use gui ; then
rm "${ED%/}"/usr/share/glib-2.0/schemas/gschemas.compiled || die
fi
if use examples ; then
mv "${ED%/}"/usr/share/doc/gnucash \
"${ED%/}"/usr/share/doc/${PF}/examples || die
pushd "${ED%/}"/usr/share/doc/${PF}/examples/ > /dev/null || die
rm AUTHORS DOCUMENTERS LICENSE NEWS projects.html ChangeLog* \
*win32-bin.txt || die
popd > /dev/null || die
docompress -x /usr/share/doc/${PF}/examples/
else
rm -r "${ED%/}"/usr/share/doc/gnucash || die
fi
use aqbanking && dodoc doc/README.HBCI
use ofx && dodoc doc/README.OFX
}
pkg_postinst() {
if use gui ; then
gnome2_icon_cache_update
gnome2_schemas_update
fi
xdg_desktop_database_update
xdg_mimeinfo_database_update
ewarn "Backup all financial files or databases before using GnuCash >=2.7.0!"
ewarn
ewarn "GnuCash 2.7.0 introduced large changes in its file format and database"
ewarn "schema that WILL prevent you from reverting back to GnuCash 2.6."
}
pkg_postrm() {
if use gui ; then
gnome2_icon_cache_update
gnome2_schemas_update
fi
xdg_desktop_database_update
xdg_mimeinfo_database_update
}

View File

@@ -1,169 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
# google{test,mock} version
GV="1.8.0"
PYTHON_COMPAT=( python3_6 )
inherit cmake-utils flag-o-matic gnome2-utils python-single-r1 xdg-utils
DESCRIPTION="A personal finance manager"
HOMEPAGE="http://www.gnucash.org/"
SRC_URI="https://github.com/Gnucash/${PN}/releases/download/${PV}/${P}.tar.bz2
https://github.com/google/googletest/archive/release-${GV}.tar.gz -> gtest-${GV}.tar.gz"
SLOT="0"
LICENSE="GPL-2"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
IUSE="aqbanking chipcard debug doc examples gnome-keyring mysql nls ofx postgres python quotes -register2 sqlite +gui"
REQUIRED_USE="
chipcard? ( aqbanking )
python? ( ${PYTHON_REQUIRED_USE} )"
# libdbi version requirement for sqlite taken from bug #455134
#
# dev-libs/boost must always be built with nls enabled.
# guile[deprecated] because of SCM_LIST*() use
RDEPEND="
>=dev-libs/glib-2.46.0:2
>=dev-libs/libxml2-2.7.0:2
>=sys-libs/zlib-1.1.4
>=dev-scheme/guile-2.2.0:12=[deprecated,regex]
dev-libs/boost:=[icu,nls]
dev-libs/icu:=
dev-libs/libxslt
aqbanking? (
>=net-libs/aqbanking-5[gtk,ofx?]
sys-libs/gwenhywfar[gtk]
chipcard? ( sys-libs/libchipcard )
)
gnome-keyring? ( >=app-crypt/libsecret-0.18 )
gui? (
gnome-base/dconf
net-libs/webkit-gtk:4=
>=x11-libs/gtk+-3.14.0:3
)
mysql? (
dev-db/libdbi
dev-db/libdbi-drivers[mysql]
)
ofx? ( >=dev-libs/libofx-0.9.1 )
postgres? (
dev-db/libdbi
dev-db/libdbi-drivers[postgres]
)
python? ( ${PYTHON_DEPS} )
quotes? (
>=dev-perl/Finance-Quote-1.11
dev-perl/Date-Manip
dev-perl/HTML-TableExtract
)
sqlite? (
>=dev-db/libdbi-0.9.0
>=dev-db/libdbi-drivers-0.9.0[sqlite]
)
"
DEPEND="${RDEPEND}
~dev-cpp/gtest-${GV}
>=sys-devel/gettext-0.19.6
dev-lang/perl
dev-perl/XML-Parser
sys-devel/libtool
virtual/pkgconfig
"
PDEPEND="doc? (
~app-doc/gnucash-docs-${PV}
gnome-extra/yelp
)"
PATCHES=( "${FILESDIR}"/${PN}-3.2-no-gui.patch )
pkg_setup() {
use python && python-single-r1_pkg_setup
xdg_environment_reset
}
src_configure() {
local sql_on_off="OFF"
if use mysql || use postgres || use sqlite ; then
sql_on_off="ON"
fi
local mycmakeargs=(
-DGMOCK_ROOT="${WORKDIR}"/googletest-release-${GV}/googlemock
-DGTEST_ROOT="${WORKDIR}"/googletest-release-${GV}/googletest
# Disable fallback to guile-2.0
-DCMAKE_DISABLE_FIND_PACKAGE_GUILE2=ON
-DCOMPILE_GSCHEMAS=OFF
-DDISABLE_NLS=$(usex !nls)
-DENABLE_REGISTER2=$(usex register2)
-DWITH_AQBANKING=$(usex aqbanking)
-DWITH_OFX=$(usex ofx)
-DWITH_PYTHON=$(usex python)
-DWITH_SQL=${sql_on_off}
-DWITH_GNUCASH=$(usex gui)
)
append-cflags -Wno-error
append-cxxflags -Wno-error
cmake-utils_src_configure
}
src_test() {
if use python ; then
cp common/test-core/unittest_support.py \
"${BUILD_DIR}"/common/test-core/ || die
fi
cd "${BUILD_DIR}" || die
XDG_DATA_HOME="${T}/$(whoami)" emake check
}
src_install() {
cmake-utils_src_install
rm "${ED%/}"/usr/share/doc/${PF}/README.dependencies || die
if use examples ; then
mv "${ED%/}"/usr/share/doc/gnucash \
"${ED%/}"/usr/share/doc/${PF}/examples || die
pushd "${ED%/}"/usr/share/doc/${PF}/examples/ > /dev/null || die
rm AUTHORS DOCUMENTERS LICENSE NEWS projects.html ChangeLog* \
*win32-bin.txt || die
popd > /dev/null || die
docompress -x /usr/share/doc/${PF}/examples/
else
rm -r "${ED%/}"/usr/share/doc/gnucash || die
fi
use aqbanking && dodoc doc/README.HBCI
use ofx && dodoc doc/README.OFX
}
pkg_postinst() {
if use gui ; then
gnome2_icon_cache_update
gnome2_schemas_update
fi
xdg_desktop_database_update
xdg_mimeinfo_database_update
ewarn "Backup all financial files or databases before using GnuCash >=2.7.0!"
ewarn
ewarn "GnuCash 2.7.0 introduced large changes in its file format and database"
ewarn "schema that WILL prevent you from reverting back to GnuCash 2.6."
}
pkg_postrm() {
if use gui ; then
gnome2_icon_cache_update
gnome2_schemas_update
fi
xdg_desktop_database_update
xdg_mimeinfo_database_update
}

View File

@@ -1,171 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
# google{test,mock} version
GV="1.8.0"
PYTHON_COMPAT=( python3_6 )
inherit cmake-utils flag-o-matic gnome2-utils python-single-r1 xdg-utils
DESCRIPTION="A personal finance manager"
HOMEPAGE="http://www.gnucash.org/"
SRC_URI="https://github.com/Gnucash/${PN}/releases/download/${PV}/${P}.tar.bz2
https://github.com/google/googletest/archive/release-${GV}.tar.gz -> gtest-${GV}.tar.gz"
SLOT="0"
LICENSE="GPL-2"
KEYWORDS="amd64 ~ppc ~ppc64 ~x86"
IUSE="aqbanking chipcard debug doc examples gnome-keyring mysql nls ofx postgres
python quotes -register2 sqlite +gui"
REQUIRED_USE="
chipcard? ( aqbanking )
python? ( ${PYTHON_REQUIRED_USE} )"
# libdbi version requirement for sqlite taken from bug #455134
#
# dev-libs/boost must always be built with nls enabled.
RDEPEND="
>=dev-libs/glib-2.40.0:2
>=dev-libs/libxml2-2.7.0:2
>=sys-libs/zlib-1.1.4
>=dev-scheme/guile-2.0.0:12=[regex]
dev-libs/boost:=[icu,nls]
dev-libs/icu:=
dev-libs/libxslt
aqbanking? (
>=net-libs/aqbanking-5[gtk,ofx?]
sys-libs/gwenhywfar[gtk]
chipcard? ( sys-libs/libchipcard )
)
gnome-keyring? ( >=app-crypt/libsecret-0.18 )
gui? (
gnome-base/dconf
net-libs/webkit-gtk:4=
>=x11-libs/gtk+-3.14.0:3
)
mysql? (
dev-db/libdbi
dev-db/libdbi-drivers[mysql]
)
ofx? ( >=dev-libs/libofx-0.9.1 )
postgres? (
dev-db/libdbi
dev-db/libdbi-drivers[postgres]
)
python? ( ${PYTHON_DEPS} )
quotes? (
>=dev-perl/Finance-Quote-1.11
dev-perl/Date-Manip
dev-perl/HTML-TableExtract
)
sqlite? (
>=dev-db/libdbi-0.9.0
>=dev-db/libdbi-drivers-0.9.0[sqlite]
)
"
DEPEND="${RDEPEND}
~dev-cpp/gtest-${GV}
>=sys-devel/gettext-0.19.6
dev-lang/perl
dev-perl/XML-Parser
sys-devel/libtool
virtual/pkgconfig
"
PDEPEND="doc? (
~app-doc/gnucash-docs-${PV}
gnome-extra/yelp
)"
PATCHES=( "${FILESDIR}"/${PN}-3.2-no-gui.patch )
pkg_setup() {
use python && python-single-r1_pkg_setup
xdg_environment_reset
}
src_configure() {
local sql_on_off="OFF"
if use mysql || use postgres || use sqlite ; then
sql_on_off="ON"
fi
local mycmakeargs=(
-DGMOCK_ROOT="${WORKDIR}"/googletest-release-${GV}/googlemock
-DGTEST_ROOT="${WORKDIR}"/googletest-release-${GV}/googletest
-DDISABLE_NLS=$(usex !nls)
-DENABLE_REGISTER2=$(usex register2)
-DWITH_AQBANKING=$(usex aqbanking)
-DWITH_OFX=$(usex ofx)
-DWITH_PYTHON=$(usex python)
-DWITH_SQL=${sql_on_off}
-DWITH_GNUCASH=$(usex gui)
)
append-cflags -Wno-error
append-cxxflags -Wno-error
cmake-utils_src_configure
}
src_test() {
if use python ; then
cp common/test-core/unittest_support.py \
"${BUILD_DIR}"/common/test-core/ || die
fi
cd "${BUILD_DIR}" || die
XDG_DATA_HOME="${T}/$(whoami)" emake check
}
src_install() {
cmake-utils_src_install
rm "${ED%/}"/usr/share/doc/${PF}/README.dependencies || die
if use gui ; then
rm "${ED%/}"/usr/share/glib-2.0/schemas/gschemas.compiled || die
fi
if use examples ; then
mv "${ED%/}"/usr/share/doc/gnucash \
"${ED%/}"/usr/share/doc/${PF}/examples || die
pushd "${ED%/}"/usr/share/doc/${PF}/examples/ > /dev/null || die
rm AUTHORS DOCUMENTERS LICENSE NEWS projects.html ChangeLog* \
*win32-bin.txt || die
popd > /dev/null || die
docompress -x /usr/share/doc/${PF}/examples/
else
rm -r "${ED%/}"/usr/share/doc/gnucash || die
fi
use aqbanking && dodoc doc/README.HBCI
use ofx && dodoc doc/README.OFX
}
pkg_postinst() {
if use gui ; then
gnome2_icon_cache_update
gnome2_schemas_update
fi
xdg_desktop_database_update
xdg_mimeinfo_database_update
ewarn "Backup all financial files or databases before using GnuCash >=2.7.0!"
ewarn
ewarn "GnuCash 2.7.0 introduced large changes in its file format and database"
ewarn "schema that WILL prevent you from reverting back to GnuCash 2.6."
}
pkg_postrm() {
if use gui ; then
gnome2_icon_cache_update
gnome2_schemas_update
fi
xdg_desktop_database_update
xdg_mimeinfo_database_update
}

View File

@@ -1,180 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
# google{test,mock} version
GV="1.8.0"
PYTHON_COMPAT=( python3_6 )
inherit cmake-utils flag-o-matic gnome2-utils python-single-r1 xdg-utils
DESCRIPTION="A personal finance manager"
HOMEPAGE="http://www.gnucash.org/"
SRC_URI="https://github.com/Gnucash/${PN}/releases/download/${PV}/${P}.tar.bz2
https://github.com/google/googletest/archive/release-${GV}.tar.gz -> gtest-${GV}.tar.gz"
SLOT="0"
LICENSE="GPL-2"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
IUSE="aqbanking chipcard debug doc examples gnome-keyring +gui mysql nls ofx
postgres python quotes -register2 sqlite"
REQUIRED_USE="
chipcard? ( aqbanking )
python? ( ${PYTHON_REQUIRED_USE} )"
# libdbi version requirement for sqlite taken from bug #455134
#
# dev-libs/boost must always be built with nls enabled.
# guile[deprecated] because of SCM_LIST*() use
RDEPEND="
>=dev-libs/glib-2.46.0:2
>=dev-libs/libxml2-2.7.0:2
>=sys-libs/zlib-1.1.4
>=dev-scheme/guile-2.2.0:12=[deprecated,regex]
dev-libs/boost:=[icu,nls]
dev-libs/icu:=
dev-libs/libxslt
aqbanking? (
>=net-libs/aqbanking-5[gtk,ofx?]
sys-libs/gwenhywfar[gtk]
chipcard? ( sys-libs/libchipcard )
)
gnome-keyring? ( >=app-crypt/libsecret-0.18 )
gui? (
gnome-base/dconf
net-libs/webkit-gtk:4=
>=x11-libs/gtk+-3.14.0:3
)
mysql? (
dev-db/libdbi
dev-db/libdbi-drivers[mysql]
)
ofx? ( >=dev-libs/libofx-0.9.1 )
postgres? (
dev-db/libdbi
dev-db/libdbi-drivers[postgres]
)
python? ( ${PYTHON_DEPS} )
quotes? (
>=dev-perl/Finance-Quote-1.11
dev-perl/Date-Manip
dev-perl/HTML-TableExtract
)
sqlite? (
>=dev-db/libdbi-0.9.0
>=dev-db/libdbi-drivers-0.9.0[sqlite]
)
"
DEPEND="${RDEPEND}
~dev-cpp/gtest-${GV}
>=sys-devel/gettext-0.19.6
dev-lang/perl
dev-perl/XML-Parser
sys-devel/libtool
virtual/pkgconfig
"
PDEPEND="doc? (
~app-doc/gnucash-docs-${PV}
gnome-extra/yelp
)"
PATCHES=( "${FILESDIR}"/${PN}-3.2-no-gui.patch
# Fixed in 3.5
"${FILESDIR}"/${PN}-3.4-test-transaction.patch )
pkg_setup() {
use python && python-single-r1_pkg_setup
xdg_environment_reset
}
src_unpack() {
default
cp "${FILESDIR}"/gnucash-3.4-test-stress-options.scm \
${PN}-${PV}/${PN}/report/standard-reports/test/test-stress-options.scm \
|| die "Failed copying scm"
}
src_configure() {
local sql_on_off="OFF"
if use mysql || use postgres || use sqlite ; then
sql_on_off="ON"
fi
local mycmakeargs=(
-DGMOCK_ROOT="${WORKDIR}"/googletest-release-${GV}/googlemock
-DGTEST_ROOT="${WORKDIR}"/googletest-release-${GV}/googletest
# Disable fallback to guile-2.0
-DCMAKE_DISABLE_FIND_PACKAGE_GUILE2=ON
-DCOMPILE_GSCHEMAS=OFF
-DDISABLE_NLS=$(usex !nls)
-DENABLE_REGISTER2=$(usex register2)
-DWITH_AQBANKING=$(usex aqbanking)
-DWITH_OFX=$(usex ofx)
-DWITH_PYTHON=$(usex python)
-DWITH_SQL=${sql_on_off}
-DWITH_GNUCASH=$(usex gui)
)
append-cflags -Wno-error
append-cxxflags -Wno-error
cmake-utils_src_configure
}
src_test() {
if use python ; then
cp common/test-core/unittest_support.py \
"${BUILD_DIR}"/common/test-core/ || die
fi
cd "${BUILD_DIR}" || die
XDG_DATA_HOME="${T}/$(whoami)" emake check
}
src_install() {
cmake-utils_src_install
rm "${ED%/}"/usr/share/doc/${PF}/README.dependencies || die
if use examples ; then
mv "${ED%/}"/usr/share/doc/gnucash \
"${ED%/}"/usr/share/doc/${PF}/examples || die
pushd "${ED%/}"/usr/share/doc/${PF}/examples/ > /dev/null || die
rm AUTHORS DOCUMENTERS LICENSE NEWS projects.html ChangeLog* \
*win32-bin.txt || die
popd > /dev/null || die
docompress -x /usr/share/doc/${PF}/examples/
else
rm -r "${ED%/}"/usr/share/doc/gnucash || die
fi
use aqbanking && dodoc doc/README.HBCI
use ofx && dodoc doc/README.OFX
}
pkg_postinst() {
if use gui ; then
gnome2_icon_cache_update
gnome2_schemas_update
fi
xdg_desktop_database_update
xdg_mimeinfo_database_update
ewarn "Backup all financial files or databases before using GnuCash >=2.7.0!"
ewarn
ewarn "GnuCash 2.7.0 introduced large changes in its file format and database"
ewarn "schema that WILL prevent you from reverting back to GnuCash 2.6."
}
pkg_postrm() {
if use gui ; then
gnome2_icon_cache_update
gnome2_schemas_update
fi
xdg_desktop_database_update
xdg_mimeinfo_database_update
}

View File

@@ -1,176 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
# google{test,mock} version
GV="1.8.0"
PYTHON_COMPAT=( python3_6 )
inherit cmake-utils flag-o-matic gnome2-utils python-single-r1 xdg-utils
DESCRIPTION="A personal finance manager"
HOMEPAGE="http://www.gnucash.org/"
SRC_URI="https://github.com/Gnucash/${PN}/releases/download/${PV}/${P}.tar.bz2
https://github.com/google/googletest/archive/release-${GV}.tar.gz -> gtest-${GV}.tar.gz"
SLOT="0"
LICENSE="GPL-2"
KEYWORDS="amd64 ~ppc ~ppc64 x86"
IUSE="aqbanking chipcard debug doc examples gnome-keyring +gui mysql nls ofx
postgres python quotes -register2 sqlite"
REQUIRED_USE="
chipcard? ( aqbanking )
python? ( ${PYTHON_REQUIRED_USE} )"
# libdbi version requirement for sqlite taken from bug #455134
#
# dev-libs/boost must always be built with nls enabled.
# guile[deprecated] because of SCM_LIST*() use
RDEPEND="
>=dev-libs/glib-2.46.0:2
>=dev-libs/libxml2-2.7.0:2
>=sys-libs/zlib-1.1.4
>=dev-scheme/guile-2.2.0:12=[deprecated,regex]
dev-libs/boost:=[icu,nls]
dev-libs/icu:=
dev-libs/libxslt
aqbanking? (
>=net-libs/aqbanking-5[gtk,ofx?]
sys-libs/gwenhywfar[gtk]
chipcard? ( sys-libs/libchipcard )
)
gnome-keyring? ( >=app-crypt/libsecret-0.18 )
gui? (
gnome-base/dconf
net-libs/webkit-gtk:4=
>=x11-libs/gtk+-3.14.0:3
)
mysql? (
dev-db/libdbi
dev-db/libdbi-drivers[mysql]
)
ofx? ( >=dev-libs/libofx-0.9.1 )
postgres? (
dev-db/libdbi
dev-db/libdbi-drivers[postgres]
)
python? ( ${PYTHON_DEPS} )
quotes? (
>=dev-perl/Finance-Quote-1.11
dev-perl/Date-Manip
dev-perl/HTML-TableExtract
)
sqlite? (
>=dev-db/libdbi-0.9.0
>=dev-db/libdbi-drivers-0.9.0[sqlite]
)
"
DEPEND="${RDEPEND}
~dev-cpp/gtest-${GV}
>=sys-devel/gettext-0.19.6
dev-lang/perl
dev-perl/XML-Parser
sys-devel/libtool
virtual/pkgconfig
"
PDEPEND="doc? (
~app-doc/gnucash-docs-${PV}
gnome-extra/yelp
)"
PATCHES=( "${FILESDIR}"/${PN}-3.2-no-gui.patch )
pkg_setup() {
use python && python-single-r1_pkg_setup
xdg_environment_reset
}
src_unpack() {
default
cp "${FILESDIR}"/gnucash-3.4-test-stress-options.scm \
${PN}-${PV}/${PN}/report/standard-reports/test/test-stress-options.scm \
|| die "Failed copying scm"
}
src_configure() {
local sql_on_off="OFF"
if use mysql || use postgres || use sqlite ; then
sql_on_off="ON"
fi
local mycmakeargs=(
-DGMOCK_ROOT="${WORKDIR}"/googletest-release-${GV}/googlemock
-DGTEST_ROOT="${WORKDIR}"/googletest-release-${GV}/googletest
# Disable fallback to guile-2.0
-DCMAKE_DISABLE_FIND_PACKAGE_GUILE2=ON
-DCOMPILE_GSCHEMAS=OFF
-DDISABLE_NLS=$(usex !nls)
-DENABLE_REGISTER2=$(usex register2)
-DWITH_AQBANKING=$(usex aqbanking)
-DWITH_OFX=$(usex ofx)
-DWITH_PYTHON=$(usex python)
-DWITH_SQL=${sql_on_off}
-DWITH_GNUCASH=$(usex gui)
)
cmake-utils_src_configure
}
src_test() {
if use python ; then
cp common/test-core/unittest_support.py \
"${BUILD_DIR}"/common/test-core/ || die
fi
cd "${BUILD_DIR}" || die
XDG_DATA_HOME="${T}/$(whoami)" emake check
}
src_install() {
cmake-utils_src_install
rm "${ED%/}"/usr/share/doc/${PF}/README.dependencies || die
if use examples ; then
mv "${ED%/}"/usr/share/doc/gnucash \
"${ED%/}"/usr/share/doc/${PF}/examples || die
pushd "${ED%/}"/usr/share/doc/${PF}/examples/ > /dev/null || die
rm AUTHORS DOCUMENTERS LICENSE NEWS projects.html ChangeLog* \
*win32-bin.txt || die
popd > /dev/null || die
docompress -x /usr/share/doc/${PF}/examples/
else
rm -r "${ED%/}"/usr/share/doc/gnucash || die
fi
use aqbanking && dodoc doc/README.HBCI
use ofx && dodoc doc/README.OFX
}
pkg_postinst() {
if use gui ; then
gnome2_icon_cache_update
gnome2_schemas_update
fi
xdg_desktop_database_update
xdg_mimeinfo_database_update
ewarn "Backup all financial files or databases before using GnuCash >=2.7.0!"
ewarn
ewarn "GnuCash 2.7.0 introduced large changes in its file format and database"
ewarn "schema that WILL prevent you from reverting back to GnuCash 2.6."
}
pkg_postrm() {
if use gui ; then
gnome2_icon_cache_update
gnome2_schemas_update
fi
xdg_desktop_database_update
xdg_mimeinfo_database_update
}

View File

@@ -1,192 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python3_6 )
inherit cmake-utils gnome2-utils python-single-r1 xdg-utils
DESCRIPTION="A personal finance manager"
HOMEPAGE="http://www.gnucash.org/"
SRC_URI="https://github.com/Gnucash/${PN}/releases/download/${PV}/${P}.tar.bz2"
SLOT="0"
LICENSE="GPL-2"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
IUSE="aqbanking chipcard debug doc examples gnome-keyring +gui mysql nls ofx
postgres python quotes -register2 sqlite test"
RESTRICT="!test? ( test )"
REQUIRED_USE="
chipcard? ( aqbanking )
python? ( ${PYTHON_REQUIRED_USE} )"
# libdbi version requirement for sqlite taken from bug #455134
#
# dev-libs/boost must always be built with nls enabled.
# guile[deprecated] because of SCM_LIST*() use
RDEPEND="
>=dev-libs/glib-2.46.0:2
>=dev-libs/libxml2-2.7.0:2
>=sys-libs/zlib-1.1.4
>=dev-scheme/guile-2.2.0:12=[deprecated,regex]
dev-libs/boost:=[icu,nls]
dev-libs/icu:=
dev-libs/libxslt
aqbanking? (
>=net-libs/aqbanking-5[gtk,ofx?]
sys-libs/gwenhywfar[gtk]
chipcard? ( sys-libs/libchipcard )
)
gnome-keyring? ( >=app-crypt/libsecret-0.18 )
gui? (
gnome-base/dconf
net-libs/webkit-gtk:4=
>=x11-libs/gtk+-3.14.0:3
)
mysql? (
dev-db/libdbi
dev-db/libdbi-drivers[mysql]
)
ofx? ( >=dev-libs/libofx-0.9.1 )
postgres? (
dev-db/libdbi
dev-db/libdbi-drivers[postgres]
)
python? ( ${PYTHON_DEPS} )
quotes? (
>=dev-perl/Finance-Quote-1.11
dev-perl/Date-Manip
dev-perl/HTML-TableExtract
)
sqlite? (
>=dev-db/libdbi-0.9.0
>=dev-db/libdbi-drivers-0.9.0[sqlite]
)
"
DEPEND="${RDEPEND}
>=sys-devel/gettext-0.19.6
dev-lang/perl
dev-perl/XML-Parser
sys-devel/libtool
virtual/pkgconfig
test? ( >=dev-cpp/gtest-1.8.0 )
"
PDEPEND="doc? (
~app-doc/gnucash-docs-${PV}
gnome-extra/yelp
)"
PATCHES=( "${FILESDIR}"/${PN}-3.2-no-gui.patch )
pkg_setup() {
use python && python-single-r1_pkg_setup
xdg_environment_reset
}
src_unpack() {
default
cp "${FILESDIR}"/gnucash-3.4-test-stress-options.scm \
${PN}-${PV}/${PN}/report/standard-reports/test/test-stress-options.scm \
|| die "Failed copying scm"
}
src_configure() {
local sql_on_off="OFF"
if use mysql || use postgres || use sqlite ; then
sql_on_off="ON"
fi
local mycmakeargs=(
# Disable fallback to guile-2.0
-DCMAKE_DISABLE_FIND_PACKAGE_GUILE2=ON
-DCOMPILE_GSCHEMAS=OFF
-DDISABLE_NLS=$(usex !nls)
-DENABLE_REGISTER2=$(usex register2)
-DWITH_AQBANKING=$(usex aqbanking)
-DWITH_OFX=$(usex ofx)
-DWITH_PYTHON=$(usex python)
-DWITH_SQL=${sql_on_off}
-DWITH_GNUCASH=$(usex gui)
)
cmake-utils_src_configure
}
src_test() {
if use python ; then
cp common/test-core/unittest_support.py \
"${BUILD_DIR}"/common/test-core/ || die
fi
LOCALE_TESTS=
if type locale >/dev/null 2>&1; then
MY_LOCALES="$(locale -a)"
if [[ "${MY_LOCALES}" != *en_US* ||
"${MY_LOCALES}" != *en_GB* ||
"${MY_LOCALES}" != *fr_FR* ]] ; then
ewarn "Missing one or more of en_US, en_GB, or fr_FR locales."
else
LOCALE_TESTS=true
fi
else
ewarn "'locale' not found."
fi
if [[ ! ${LOCALE_TESTS} ]]; then
ewarn "Disabling test-qof and test-gnc-numeric."
echo 'set(CTEST_CUSTOM_TESTS_IGNORE test-qof test-gnc-numeric)' \
> "${BUILD_DIR}"/CTestCustom.cmake || die
fi
cd "${BUILD_DIR}" || die
XDG_DATA_HOME="${T}/$(whoami)" emake check
}
src_install() {
cmake-utils_src_install
rm "${ED%/}"/usr/share/doc/${PF}/README.dependencies || die
if use examples ; then
mv "${ED%/}"/usr/share/doc/gnucash \
"${ED%/}"/usr/share/doc/${PF}/examples || die
pushd "${ED%/}"/usr/share/doc/${PF}/examples/ > /dev/null || die
rm AUTHORS DOCUMENTERS LICENSE NEWS projects.html ChangeLog* \
*win32-bin.txt || die
popd > /dev/null || die
docompress -x /usr/share/doc/${PF}/examples/
else
rm -r "${ED%/}"/usr/share/doc/gnucash || die
fi
use aqbanking && dodoc doc/README.HBCI
use ofx && dodoc doc/README.OFX
}
pkg_postinst() {
if use gui ; then
gnome2_icon_cache_update
gnome2_schemas_update
fi
xdg_desktop_database_update
xdg_mimeinfo_database_update
ewarn "Backup all financial files or databases before using GnuCash >=2.7.0!"
ewarn
ewarn "GnuCash 2.7.0 introduced large changes in its file format and database"
ewarn "schema that WILL prevent you from reverting back to GnuCash 2.6."
}
pkg_postrm() {
if use gui ; then
gnome2_icon_cache_update
gnome2_schemas_update
fi
xdg_desktop_database_update
xdg_mimeinfo_database_update
}

View File

@@ -1,213 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python3_6 )
inherit cmake-utils gnome2-utils python-single-r1 xdg-utils
DESCRIPTION="A personal finance manager"
HOMEPAGE="http://www.gnucash.org/"
SRC_URI="https://github.com/Gnucash/${PN}/releases/download/${PV}/${P}.tar.bz2"
SLOT="0"
LICENSE="GPL-2"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
IUSE="aqbanking debug doc examples gnome-keyring +gui mysql nls ofx postgres
python quotes -register2 smartcard sqlite test"
RESTRICT="!test? ( test )"
REQUIRED_USE="
python? ( ${PYTHON_REQUIRED_USE} )
smartcard? ( aqbanking )"
# libdbi version requirement for sqlite taken from bug #455134
#
# dev-libs/boost must always be built with nls enabled.
# guile[deprecated] because of SCM_LIST*() use
RDEPEND="
>=dev-libs/glib-2.46.0:2
>=dev-libs/libxml2-2.7.0:2
dev-libs/boost:=[icu,nls]
dev-libs/icu:=
dev-libs/libxslt
>=dev-scheme/guile-2.2.0:12=[deprecated,regex]
>=sys-libs/zlib-1.1.4
aqbanking? (
>=net-libs/aqbanking-5[ofx?]
sys-libs/gwenhywfar
smartcard? ( sys-libs/libchipcard )
)
gnome-keyring? ( >=app-crypt/libsecret-0.18 )
gui? (
gnome-base/dconf
net-libs/webkit-gtk:4=
>=x11-libs/gtk+-3.14.0:3
aqbanking? ( >=sys-libs/gwenhywfar-4.20.2[gtk] )
)
mysql? (
dev-db/libdbi
dev-db/libdbi-drivers[mysql]
)
ofx? ( >=dev-libs/libofx-0.9.1 )
postgres? (
dev-db/libdbi
dev-db/libdbi-drivers[postgres]
)
python? ( ${PYTHON_DEPS} )
quotes? (
>=dev-perl/Finance-Quote-1.11
dev-perl/Date-Manip
dev-perl/HTML-TableExtract
)
sqlite? (
>=dev-db/libdbi-0.9.0
>=dev-db/libdbi-drivers-0.9.0[sqlite]
)
"
DEPEND="${RDEPEND}
>=sys-devel/gettext-0.19.6
dev-lang/perl
dev-perl/XML-Parser
sys-devel/libtool
virtual/pkgconfig
test? ( >=dev-cpp/gtest-1.8.0 )
"
PDEPEND="doc? (
~app-doc/gnucash-docs-${PV}
gnome-extra/yelp
)"
PATCHES=(
"${FILESDIR}"/${PN}-3.2-no-gui.patch
"${FILESDIR}"/${PN}-3.7-include-checksymbolexists.patch
)
pkg_setup() {
use python && python-single-r1_pkg_setup
}
src_unpack() {
default
cp "${FILESDIR}"/gnucash-3.4-test-stress-options.scm \
${PN}-${PV}/${PN}/report/standard-reports/test/test-stress-options.scm \
|| die "Failed copying scm"
}
src_prepare() {
cmake-utils_src_prepare
xdg_environment_reset
# Fix tests writing to /tmp
local fixtestfiles=(
"${S}"/gnucash/report/report-system/test/test-commodity-utils.scm
"${S}"/gnucash/report/report-system/test/test-extras.scm
"${S}"/gnucash/report/report-system/test/test-report-html.scm
"${S}"/gnucash/report/report-system/test/test-report-system.scm
"${S}"/libgnucash/backend/xml/test/test-xml-pricedb.cpp
"${S}"/libgnucash/backend/dbi/test/test-backend-dbi-basic.cpp
)
for x in "${fixtestfiles[@]}"; do
sed -i -e "s|\"/tmp/|\"${T}/|g" "${x}" || die "sed of "${x}" failed"
done
}
src_configure() {
export GUILE_AUTO_COMPILE=0
local sql_on_off="OFF"
if use mysql || use postgres || use sqlite ; then
sql_on_off="ON"
fi
local mycmakeargs=(
-DCOMPILE_GSCHEMAS=OFF
-DDISABLE_NLS=$(usex !nls)
-DENABLE_REGISTER2=$(usex register2)
-DWITH_AQBANKING=$(usex aqbanking)
-DWITH_OFX=$(usex ofx)
-DWITH_PYTHON=$(usex python)
-DWITH_SQL=${sql_on_off}
-DWITH_GNUCASH=$(usex gui)
)
cmake-utils_src_configure
}
src_test() {
if use python ; then
cp common/test-core/unittest_support.py \
"${BUILD_DIR}"/common/test-core/ || die
fi
LOCALE_TESTS=
if type locale >/dev/null 2>&1; then
MY_LOCALES="$(locale -a)"
if [[ "${MY_LOCALES}" != *en_US* ||
"${MY_LOCALES}" != *en_GB* ||
"${MY_LOCALES}" != *fr_FR* ]] ; then
ewarn "Missing one or more of en_US, en_GB, or fr_FR locales."
else
LOCALE_TESTS=true
fi
else
ewarn "'locale' not found."
fi
if [[ ! ${LOCALE_TESTS} ]]; then
ewarn "Disabling test-qof and test-gnc-numeric."
echo 'set(CTEST_CUSTOM_TESTS_IGNORE test-qof test-gnc-numeric)' \
> "${BUILD_DIR}"/CTestCustom.cmake || die
fi
cd "${BUILD_DIR}" || die
XDG_DATA_HOME="${T}/$(whoami)" emake check
}
src_install() {
cmake-utils_src_install
rm "${ED%/}"/usr/share/doc/${PF}/README.dependencies || die
if use examples ; then
mv "${ED%/}"/usr/share/doc/gnucash \
"${ED%/}"/usr/share/doc/${PF}/examples || die
pushd "${ED%/}"/usr/share/doc/${PF}/examples/ > /dev/null || die
rm AUTHORS DOCUMENTERS LICENSE NEWS projects.html ChangeLog* \
*win32-bin.txt || die
popd > /dev/null || die
docompress -x /usr/share/doc/${PF}/examples/
else
rm -r "${ED%/}"/usr/share/doc/gnucash || die
fi
use aqbanking && dodoc doc/README.HBCI
use ofx && dodoc doc/README.OFX
}
pkg_postinst() {
if use gui ; then
xdg_icon_cache_update
gnome2_schemas_update
fi
xdg_desktop_database_update
xdg_mimeinfo_database_update
ewarn "Backup all financial files or databases before using GnuCash >=2.7.0!"
ewarn
ewarn "GnuCash 2.7.0 introduced large changes in its file format and database"
ewarn "schema that WILL prevent you from reverting back to GnuCash 2.6."
}
pkg_postrm() {
if use gui ; then
xdg_icon_cache_update
gnome2_schemas_update
fi
xdg_desktop_database_update
xdg_mimeinfo_database_update
}

View File

@@ -9,9 +9,6 @@
<flag name="aqbanking">
Connect to some internet banks via AqBanking
</flag>
<flag name="chipcard">
Enable support for chipcard reading and processing.
</flag>
<flag name="quotes">Enable Online Stock Quote retrieval</flag>
<flag name="register2">Use the new register (Experimental)</flag>
</use>