--- gnucash-3.8b-r1.ebuild 2020-07-03 16:21:22.027804493 +0200 +++ gnucash-4.0.ebuild 2020-07-05 12:19:09.912182017 +0200 @@ -5,7 +5,10 @@ PYTHON_COMPAT=( python3_{6,7,8} ) -inherit cmake-utils gnome2-utils python-single-r1 xdg-utils +# The generated .go files from guile can't be stripped. +RESTRICT="strip" + +inherit cmake gnome2-utils python-single-r1 xdg-utils toolchain-funcs DESCRIPTION="A personal finance manager" HOMEPAGE="http://www.gnucash.org/" @@ -27,13 +30,12 @@ # 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. # net-libs/aqbanking dropped gtk with v6, so to simplify the dependency, # we just rely on that. RDEPEND=" - >=dev-libs/glib-2.46.0:2 - >=dev-libs/libxml2-2.7.0:2 - >=dev-scheme/guile-2.2.0:12=[deprecated,regex] + >=dev-libs/glib-2.56.1:2 + >=dev-libs/libxml2-2.9.4:2 + >=dev-scheme/guile-2.2.0:12=[regex] >=sys-libs/zlib-1.1.4 dev-libs/boost:=[icu,nls] dev-libs/icu:= @@ -45,9 +47,9 @@ ) gnome-keyring? ( >=app-crypt/libsecret-0.18 ) gui? ( - >=x11-libs/gtk+-3.14.0:3 + >=x11-libs/gtk+-3.22.30:3 gnome-base/dconf - net-libs/webkit-gtk:4= + >=net-libs/webkit-gtk-2.14.1:4= aqbanking? ( sys-libs/gwenhywfar[gtk] ) ) mysql? ( @@ -73,13 +75,15 @@ DEPEND="${RDEPEND} >=dev-cpp/gtest-1.8.0 - >=sys-devel/gettext-0.19.6 + >=sys-devel/gettext-0.20 dev-lang/perl dev-perl/XML-Parser sys-devel/libtool virtual/pkgconfig " +BDEPEND=">=dev-lang/swig-3.0.12" + PDEPEND="doc? ( ~app-doc/gnucash-docs-${PV} gnome-extra/yelp @@ -93,25 +97,43 @@ S="${WORKDIR}/${PN}-$(ver_cut 1-2)" +pkg_pretend() { + if tc-is-gcc; then + if [[ $(gcc-major-version) -lt 8 ]]; then + die "Gnucash needs at least GCC version 8." + fi + elif tc-is-clang; then + if [[ $(clang-major-version) -lt 6 ]]; then + die "Gnucash needs at least clang version 6." + fi + fi +} + pkg_setup() { use python && python-single-r1_pkg_setup xdg_environment_reset } src_prepare() { - cmake-utils_src_prepare + cmake_src_prepare # 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 + gnucash/report/test/test-report-html.scm + gnucash/report/reports/standard/test/test-invoice.scm + gnucash/report/reports/standard/test/test-new-owner-report.scm + gnucash/report/reports/standard/test/test-owner-report.scm + gnucash/report/reports/standard/test/test-transaction.scm + gnucash/report/reports/standard/test/test-portfolios.scm + gnucash/report/reports/standard/test/test-charts.scm + gnucash/report/test/test-report.scm + gnucash/report/test/test-commodity-utils.scm + gnucash/report/test/test-report-extras.scm + libgnucash/backend/dbi/test/test-backend-dbi-basic.cpp + libgnucash/backend/xml/test/test-xml-pricedb.cpp ) for x in "${fixtestfiles[@]}"; do - sed -i -e "s|\"/tmp/|\"${T}/|g" "${x}" || die "sed of "${x}" failed" + sed -i -e "s|\"/tmp/|\"${T}/|g" "${S}/${x}" || die "sed of "${S}/${x}" failed" done } @@ -134,7 +156,7 @@ -DWITH_GNUCASH=$(usex gui) ) - cmake-utils_src_configure + cmake_src_configure } src_test() { @@ -168,9 +190,7 @@ } src_install() { - cmake-utils_src_install - - rm "${ED}"/usr/share/doc/${PF}/*win32-bin.txt + cmake_src_install if use examples ; then docompress -x /usr/share/doc/${PF}/examples @@ -178,9 +198,6 @@ rm -r "${ED}"/usr/share/doc/${PF}/examples fi - use aqbanking && dodoc doc/README.HBCI - use ofx && dodoc doc/README.OFX - if use python ; then python_optimize python_optimize "${ED}"/usr/share/gnucash/python