Created attachment 602358 [details] ebuild for app-office/gnucash-3.8 A few days ago gnucash version 3.8 was released. Finally also support for optical TAN generation has been implemented Bumping the ebuild takes just a minor adjustment as the downloadable tarball has version number 3.8b instead of a plain 3.8 -> see attached ebuild Works fine so far at my end on amd64 and ppc
Comment on attachment 602358 [details] ebuild for app-office/gnucash-3.8 --- gnucash-3.7.ebuild +++ gnucash-3.8.ebuild @@ -9,7 +9,7 @@ DESCRIPTION="A personal finance manager" HOMEPAGE="http://www.gnucash.org/" -SRC_URI="https://github.com/Gnucash/${PN}/releases/download/${PV}/${P}.tar.bz2" +SRC_URI="https://github.com/Gnucash/${PN}/releases/download/${PV}b/${P}b.tar.bz2" SLOT="0" LICENSE="GPL-2"
Comment on attachment 602358 [details] ebuild for app-office/gnucash-3.8 (In reply to Jeroen Roovers from comment #1) > Comment on attachment 602358 [details] > ebuild for app-office/gnucash-3.8 > > --- gnucash-3.7.ebuild > +++ gnucash-3.8.ebuild > @@ -9,7 +9,7 @@ > > DESCRIPTION="A personal finance manager" > HOMEPAGE="http://www.gnucash.org/" > -SRC_URI="https://github.com/Gnucash/${PN}/releases/download/${PV}/${P}.tar. > bz2" > +SRC_URI="https://github.com/Gnucash/${PN}/releases/download/${PV}b/${P}b. > tar.bz2" 3.8b is a valid PV, so there is no need to edit the ebuild as long as you name it correctly.
If you name the ebuild gnucash-3.8b.ebuild, emerge breaks when it tries to copy the local scm file. ============== %< ================== ERROR: unpack ERROR: app-office/gnucash-3.8b::local failed (unpack phase): Failed copying scm Call stack: ebuild.sh, line 125: Called src_unpack environment, line 4177: Called die The specific snippet of code: cp "${FILESDIR}"/gnucash-3.4-test-stress-options.scm ${PN}-${PV}/${PN}/report/standard- │ reports/test/test-stress-options.scm || die "Failed copying scm" ============== %< ================== with Floran's modification, the ebuild succeeds.
A working gnucash-3.8b ebuild is available in my overlay: https://github.com/stefantalpalaru/gentoo-overlay
Gnucash 3.7, the newest in Portage, no longer builds due to dev-libs/glib being too new. See e.g. https://bugs.funtoo.org/browse/FL-6854 or http://gnucash.1415818.n4.nabble.com/GNC-dev-Compiling-not-working-td4714050.html. What can I do to help get a 3.8 package released?
I don't see how any of the proposed ebuilds work for any of you as the examples directory doesn't exist and can't be removed. So, that fails to emerge. Stefan's doesn't actually use the latest revision, and it runs into the same issue with examples. Further, after I've resolved that, when I run emerge again (emerge gnucash && emerge gnucash) I run into: =============================================== VERSION 1.0 FORMAT: F - Function called FORMAT: S - Access Status FORMAT: P - Path as passed to function FORMAT: A - Absolute Path (not canonical) FORMAT: R - Canonical Path FORMAT: C - Command Line F: symlink S: deny P: COPYING A: /usr/share/doc/gnucash-3.8b/COPYING R: /usr/share/doc/gnucash-3.8b/COPYING C: /usr/bin/cmake -E create_symlink LICENSE COPYING =============================================== Additionally, tests are failing en masse. All of the ebuilds proposed failed for me, including mine. This needs a bit more work. I am working on this in my repo: https://github.com/titanofold/titanofold-gentoo-x86/tree/master/app-office/gnucash
> Stefan's doesn't actually use the latest revision, and it runs into the same issue with examples. What revision and what issue? > All of the ebuilds proposed failed for me How? Not only did I install the package using my ebuild, but I'm using it regularly for my personal accounting. The USE flags I enable: [I] app-office/gnucash Available versions: 3.2-r2 3.3 (~)3.3-r1 (~)3.4 3.5 (~)3.6^t (~)3.7^t (~)3.8b[1] {aqbanking chipcard debug doc examples gnome-keyring +gui mysql nls ofx postgres python quotes -register2 smartcard sqlite test PYTHON_SINGLE_TARGET="(+)python3_6 python3_7 python3_8"} Installed versions: 3.8b[1](07:15:48 PM 03/07/2020)(gui nls ofx python sqlite -aqbanking -chipcard -debug -doc -examples -gnome-keyring -mysql -postgres -quotes -register2 -test PYTHON_SINGLE_TARGET="python3_6 -python3_7 -python3_8") I even did a `USE="examples" ebuild gnucash-3.8b.ebuild clean install` and it builds and installs just fine.
(In reply to Ștefan Talpalaru from comment #7) > > Stefan's doesn't actually use the latest revision, and it runs into the same issue with examples. > > What revision and what issue? If you used the latest revision, you'd have smartcard instead of chipcard in IUSE. This change was made September 22, 2019. (commit 9f28590183fc5f09849aba01843951212bb80a9d) Also, you'd be using the Github SRC_URI. I already stated the issue with examples. However, I should have stated that it's the ${ED%/}/usr/share/doc/gnucash directory that's nonexistent. I did keep a couple of the edits you've made. > > > All of the ebuilds proposed failed for me > > How? Not only did I install the package using my ebuild, but I'm using it > regularly for my personal accounting. The USE flags I enable: > > [I] app-office/gnucash > Available versions: 3.2-r2 3.3 (~)3.3-r1 (~)3.4 3.5 (~)3.6^t (~)3.7^t > (~)3.8b[1] {aqbanking chipcard debug doc examples gnome-keyring +gui mysql > nls ofx postgres python quotes -register2 smartcard sqlite test > PYTHON_SINGLE_TARGET="(+)python3_6 python3_7 python3_8"} > Installed versions: 3.8b[1](07:15:48 PM 03/07/2020)(gui nls ofx python > sqlite -aqbanking -chipcard -debug -doc -examples -gnome-keyring -mysql > -postgres -quotes -register2 -test PYTHON_SINGLE_TARGET="python3_6 > -python3_7 -python3_8") > > I even did a `USE="examples" ebuild gnucash-3.8b.ebuild clean install` and > it builds and installs just fine. The 'mv "${ED%/}"/usr/share/doc/gnucash "${ED%/}"/usr/share/doc/${PF}/examples' statement is followed by an '|| die'. Because ${ED}/usr/share/doc/gnucash doesn't exist, the mv (and related rm) statement should fail and thus, die. If it doesn't for you, we need to figure out why. Presumably, the Sourceforge and Github tarballs are the same. Additionally, try running "emerge gnucash && emerge gnucash". I'm running into a sandbox violation the second time with 3.8b (not 3.7 to 3.8b; 3.8b replaced by 3.8b). Clean installs aren't hitting that.. As for the tests not running, I solved it by using eninja in place of emake in src_test().
> If you used the latest revision, you'd have smartcard instead of chipcard in IUSE. Oh, you mean the main tree version of the ebuild. OK, I'll port the relevant changes from there. > This change was made September 22, 2019 That's cool. I've been maintaining an out-of-tree version since August 2016: https://github.com/stefantalpalaru/gentoo-overlay/commits/master/app-office/gnucash > The 'mv "${ED%/}"/usr/share/doc/gnucash "${ED%/}"/usr/share/doc/${PF}/examples' statement is followed by an '|| die'. Same here: mv "${ED%/}"/usr/share/doc/gnucash \ "${ED%/}"/usr/share/doc/${PF}/examples || die Doesn't die with USE="examples". > Presumably, the Sourceforge and Github tarballs are the same. Yes, they're the same. The most relevant difference between our ebuilds seems to be this patch of yours that I don't use: https://github.com/titanofold/titanofold-gentoo-x86/blob/master/app-office/gnucash/files/gnucash-3.8-examples-subdir.patch > try running "emerge gnucash && emerge gnucash". Runs just fine on my system. `USE="examples" emerge gnucash && USE="examples" emerge gnucash` does too.
(In reply to Karl-Johan Karlsson from comment #5) > Gnucash 3.7, the newest in Portage, no longer builds due to dev-libs/glib > being too new. See-Also: https://bugs.gentoo.org/show_bug.cgi?id=714920
My other machine was having a bit of trouble. Turned out either net-libs/aqbanking or sys-libs/gwenhywfar needed to be rebuilt. I rebuilt both. To do things cleanly, I had to bump the version requirements on those packages. I've resolved the access violation by removing the bit installing the LICENSE file. It was the symlink creation on the second go round that was causing the issue. However, since it's redundant, we can just strip it out. The rm failures aren't so severe as it's just cleanup. So, the `|| die` really aren't needed. Nothing breaks if we have a useless file in the docs directory. I need to make another tweak, but anyone using the GUI won't have an issue. My repo has the most up to date version: https://github.com/titanofold/titanofold-gentoo-x86/tree/master/app-office/gnucash Please try it and let me know if any of you have trouble.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7a445dde57a57fd7eecd4ddf7939c541f2bba085 commit 7a445dde57a57fd7eecd4ddf7939c541f2bba085 Author: Aaron W. Swenson <titanofold@gentoo.org> AuthorDate: 2020-03-28 21:39:40 +0000 Commit: Aaron W. Swenson <titanofold@gentoo.org> CommitDate: 2020-03-28 21:46:19 +0000 app-office/gnucash: Bump to 3.8b Bump to EAPI 7. Switch to ninja to run tests instead of GNU make. Install example files into their own directory. No longer install redundant license file. This also prevents a sandbox violation. Because net-libs/aqbanking dropped the gtk USE flag, we've increased the version requirement, and trigger the gtk USE flag on sys-libs/gwenhywfar directly. Also, make the >dev-libs/libofx dependent on the subslot as well. Bug: https://bugs.gentoo.org/714920 Bug: https://bugs.gentoo.org/704632 Bug: https://bugs.gentoo.org/692626 Package-Manager: Portage-2.3.89, Repoman-2.3.20 Signed-off-by: Aaron W. Swenson <titanofold@gentoo.org> app-office/gnucash/Manifest | 1 + .../files/gnucash-3.8-examples-subdir.patch | 10 + .../files/gnucash-3.8-exclude-license.patch | 32 ++++ app-office/gnucash/gnucash-3.8b.ebuild | 206 +++++++++++++++++++++ 4 files changed, 249 insertions(+)
When upgrading to the 3.8b ebuild from comment 12, Portge wants to install sys-libs/gwenhywfar: These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild N ] sys-libs/gwenhywfar-5.1.2 USE="-debug -designer -doc (-fox) gtk -libressl -qml qt5 -sensors -serialport -test -webkit" [ebuild U ] app-office/gnucash-3.8b [3.7] PYTHON_SINGLE_TARGET="-python3_7% -python3_8%" Previously, that dependency was conditional on USE="aqbanking": $ grep --before-context=4 'gwenhywfar.*gtk' /var/db/repos/gentoo/app-office/gnucash/gnucash-3.7.ebuild gui? ( gnome-base/dconf net-libs/webkit-gtk:4= >=x11-libs/gtk+-3.14.0:3 aqbanking? ( >=sys-libs/gwenhywfar-4.20.2[gtk] ) That condition has been removed in 3.8b: gui? ( >=x11-libs/gtk+-3.14.0:3 gnome-base/dconf net-libs/webkit-gtk:4= sys-libs/gwenhywfar[gtk] ) Was this intentional? I can see nothing in the Gnucash docs that suggest sys-libs/gwenhywfar is required if you are not using aqbanking.
(In reply to Karl-Johan Karlsson from comment #13) > Was this intentional? I can see nothing in the Gnucash docs that suggest > sys-libs/gwenhywfar is required if you are not using aqbanking. Nope. It was unintentional. Thanks for pointing it out. I'll get it fixed in a revbump either today or tomorrow.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=28c81d28176d8f2e6a0ee96b8195a9ce7035b44a commit 28c81d28176d8f2e6a0ee96b8195a9ce7035b44a Author: Aaron W. Swenson <titanofold@gentoo.org> AuthorDate: 2020-04-03 17:30:09 +0000 Commit: Aaron W. Swenson <titanofold@gentoo.org> CommitDate: 2020-04-03 17:30:14 +0000 app-office/gnucash: Dep & python fix Correct mistaken change on sys-libs/gwenhywfar dependency. It's only needed with net-libs/aqbanking. Thanks to Karl-Johan Karlsson for spotting the error. Also, address QA warning by optimizing Python code. Thanks to Chris Mayo for submitting the fix. Bug: https://bugs.gentoo.org/715344 Bug: https://bugs.gentoo.org/704632 Package-Manager: Portage-2.3.89, Repoman-2.3.20 Signed-off-by: Aaron W. Swenson <titanofold@gentoo.org> app-office/gnucash/gnucash-3.8b-r1.ebuild | 211 ++++++++++++++++++++++++++++++ 1 file changed, 211 insertions(+)