public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: app-office/gnucash/, app-office/gnucash/files/
Date: Thu, 26 Dec 2024 10:19:02 +0000 (UTC)	[thread overview]
Message-ID: <1735208233.c9c68d05e8fcaa3dd8be3a9b38b2070f3115dd7d.sam@gentoo> (raw)

commit:     c9c68d05e8fcaa3dd8be3a9b38b2070f3115dd7d
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 26 10:17:09 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Dec 26 10:17:13 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c9c68d05

app-office/gnucash: backport guile load fixes to 5.8-r100

Backport the changes from 72dbf2ec4049df11ad63576971883ee239eadb7f.

This allows easier testing of the fixes (because of the nature of them
involving an upgrade/downgrade).

Bug: https://bugs.gentoo.org/941426
Bug: https://bugs.gentoo.org/946388
Signed-off-by: Sam James <sam <AT> gentoo.org>

 ...ath.patch => gnucash-5.8-guile-load-path.patch} |  0
 app-office/gnucash/gnucash-5.10.ebuild             |  2 +-
 app-office/gnucash/gnucash-5.8-r100.ebuild         | 39 ++++++++++++++--------
 3 files changed, 26 insertions(+), 15 deletions(-)

diff --git a/app-office/gnucash/files/gnucash-5.10-guile-load-path.patch b/app-office/gnucash/files/gnucash-5.8-guile-load-path.patch
similarity index 100%
rename from app-office/gnucash/files/gnucash-5.10-guile-load-path.patch
rename to app-office/gnucash/files/gnucash-5.8-guile-load-path.patch

diff --git a/app-office/gnucash/gnucash-5.10.ebuild b/app-office/gnucash/gnucash-5.10.ebuild
index f258c56acd5f..acc455214339 100644
--- a/app-office/gnucash/gnucash-5.10.ebuild
+++ b/app-office/gnucash/gnucash-5.10.ebuild
@@ -118,7 +118,7 @@ PATCHES=(
 	# https://bugs.gentoo.org/893676
 	"${FILESDIR}/${PN}-5.0-webkit2gtk-4.1.patch"
 	"${FILESDIR}/${P}-import-qif.patch"
-	"${FILESDIR}/${PN}-5.10-guile-load-path.patch"
+	"${FILESDIR}/${PN}-5.8-guile-load-path.patch"
 )
 
 pkg_setup() {

diff --git a/app-office/gnucash/gnucash-5.8-r100.ebuild b/app-office/gnucash/gnucash-5.8-r100.ebuild
index dec0d06fe71f..abfe06c45785 100644
--- a/app-office/gnucash/gnucash-5.8-r100.ebuild
+++ b/app-office/gnucash/gnucash-5.8-r100.ebuild
@@ -10,21 +10,19 @@ PYTHON_COMPAT=( python3_{10..12} )
 inherit cmake flag-o-matic gnome2-utils guile-single python-single-r1
 
 # Please bump with app-doc/gnucash-docs
-DESCRIPTION="A personal finance manager"
+DESCRIPTION="Personal finance manager"
 HOMEPAGE="https://www.gnucash.org/"
 SRC_URI="https://github.com/Gnucash/gnucash/releases/download/${PV}/${P}.tar.bz2"
 
 LICENSE="GPL-2+"
 SLOT="0"
 KEYWORDS="amd64 ~arm64 ~ppc ~ppc64 ~riscv x86"
-
 IUSE="aqbanking debug doc examples gnome-keyring +gui mysql nls ofx postgres python quotes smartcard sqlite test"
-
-# Currently restricting due to the following:
-# https://bugs.gnucash.org/show_bug.cgi?id=799159#c1
-#
-# Tests can be run but must first unmerge any existing GnuCash installation.
-RESTRICT="test"
+# Tests were previously restricted because guile would try to use installed,
+# not just-built modules. See https://bugs.gnucash.org/show_bug.cgi?id=799159#c1.
+# TODO: as of 5.10, the ebuild should handle this OK. If no issues come up,
+# need to forward those findings (and tidy up the patch for) upstream.
+RESTRICT="!test? ( test )"
 
 # Examples doesn't build unless GUI is also built
 REQUIRED_USE="
@@ -116,15 +114,13 @@ PATCHES=(
 	"${FILESDIR}/${PN}-5.0-exclude-license.patch"
 	"${FILESDIR}/${PN}-4.12-drop-broken-test.patch"
 	"${FILESDIR}/${PN}-5.6-no-werror.patch"
-
 	# This is only to prevent webkit2gtk-4 from being selected.
 	# https://bugs.gentoo.org/893676
 	"${FILESDIR}/${PN}-5.0-webkit2gtk-4.1.patch"
-
 	# GCC 15 backport
 	"${FILESDIR}/${PN}-5.8-gcc15.patch"
-
 	"${FILESDIR}/${PN}-5.8-boost-1.87.patch"
+	"${FILESDIR}/${PN}-5.8-guile-load-path.patch"
 )
 
 pkg_setup() {
@@ -155,13 +151,16 @@ src_prepare() {
 		libgnucash/backend/dbi/test/test-backend-dbi-basic.cpp
 		libgnucash/backend/xml/test/test-xml-pricedb.cpp
 	)
+	local x
 	for x in "${fixtestfiles[@]}"; do
 		sed -i -e "s|\"/tmp/|\"${T}/|g" "${S}/${x}" || die "sed of ${S}/${x} failed"
 	done
 }
 
 src_configure() {
-	export GUILE_AUTO_COMPILE=0
+	# Used in src_test but the value has to be available at `cmake`
+	# generation time.
+	export GENTOO_TEMPORARY_TEST_INSTALLDIR="${BUILD_DIR}/test_install"
 
 	local sql_on_off="OFF"
 	if use mysql || use postgres || use sqlite ; then
@@ -203,8 +202,20 @@ src_test() {
 	fi
 
 	cd "${BUILD_DIR}" || die "Failed to enter ${BUILD_DIR}"
-	XDG_DATA_HOME="${T}/$(whoami)" eninja check
-	cmake_src_test
+
+	# We need e.g. `options.scm` to be available for loading by tests
+	# and the compiled `options.go` isn't enough. Do a temporary install
+	# for the benefit of the testsuite.
+	DESTDIR="${GENTOO_TEMPORARY_TEST_INSTALLDIR}" cmake_build install
+	# This is needed for `load-path` to be correct, as it lacks `/usr` in there.
+	local dir
+	for dir in bin include "$(get_libdir)" share ; do
+		ln -s "${GENTOO_TEMPORARY_TEST_INSTALLDIR}/usr/${dir}" "${GENTOO_TEMPORARY_TEST_INSTALLDIR}/${dir}" || die
+	done
+
+	# Avoid cmake_src_test as we don't get the test binaries built first
+	# and get various failures as a result. Copy what upstream do in CI.
+	eninja check
 }
 
 src_install() {


             reply	other threads:[~2024-12-26 10:19 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-12-26 10:19 Sam James [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-12-26 10:19 [gentoo-commits] repo/gentoo:master commit in: app-office/gnucash/, app-office/gnucash/files/ Sam James
2024-12-26  9:57 Sam James
2024-12-26  2:54 Sam James
2024-11-03 18:54 David Seifert
2024-05-11 19:02 Aaron W. Swenson
2024-01-20 11:49 Sam James
2023-06-20 10:53 Aaron W. Swenson
2023-05-12 23:58 Sam James
2021-04-21 18:51 Sam James
2021-04-19  3:50 Matt Turner
2020-05-21 11:14 Aaron W. Swenson
2019-10-13 11:40 Andreas Sturmlechner
2018-10-07 10:19 Aaron Swenson
2018-08-29 10:48 Aaron Swenson
2018-02-18 12:31 Aaron Swenson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1735208233.c9c68d05e8fcaa3dd8be3a9b38b2070f3115dd7d.sam@gentoo \
    --to=sam@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox