Summary: | media-sound/denemo-2.2.0 version bump | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Jeroen Roovers (RETIRED) <jer> |
Component: | Current packages | Assignee: | Gentoo Sound Team <sound> |
Status: | RESOLVED WONTFIX | ||
Severity: | normal | CC: | cook60020tmp, gentoo, gentoo, joost.ruis, jstein, kingjon3377, treecleaner, waebbl-gentoo |
Priority: | Normal | Keywords: | EBUILD, PMASKED |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: |
https://github.com/gentoo/gentoo/pull/6241 https://bugs.gentoo.org/show_bug.cgi?id=667164 |
||
Whiteboard: | Pending removal: 2018-04-13 | ||
Package list: | Runtime testing required: | --- | |
Attachments: |
ebuild for denemo-1.2.2
media-sound/denemo-2.0.8 denemo-2.0.10.ebuild denemo-2.2.0 ebuild metadata.xml denemo-2.2.0.ebuild metadata.xml denemo-2.2.0 build log metadata.xml denemo-2.2.0 ebuild denemo-2.2.0.ebuild - without portaudio, guile2-only denemo-2.2.0-no-portaudio-fix.patch denemo-2.2.0.ebuild - with no-portaudio fix |
Description
Jeroen Roovers (RETIRED)
![]() Release 1.2.2 is out now. http://savannah.gnu.org/forum/forum.php?forum_id=8236 Created attachment 404482 [details]
ebuild for denemo-1.2.2
This builds, but no idea if it works properly.
denemo 2.0 has been released on 2015-10-30 More recent version ebuild selection at bug 567786. *** Bug 567786 has been marked as a duplicate of this bug. *** Created attachment 434360 [details] media-sound/denemo-2.0.8 Bump to version 2.0.8 from version 2.0.0 with src_prepare from reisio 2.0.6 bump from bug #567786 Comment #4. Aubio and guile have been turned options in the configure file for 2.0.8, so I turned them into USE flags resp. Also added dev-util/intltool as a compile dependency. Created attachment 443766 [details]
denemo-2.0.10.ebuild
(In reply to Bernd from comment #6) > Created attachment 434360 [details] > media-sound/denemo-2.0.8 > > Bump to version 2.0.8 from version 2.0.0 with src_prepare from reisio 2.0.6 > bump from bug #567786 Comment #4. > Aubio and guile have been turned options in the configure file for 2.0.8, so > I turned them into USE flags resp. Also added dev-util/intltool as a compile > dependency. I was looking for frontends to lilypond and came across denemo for which the most recent version in portage is 1.0.2, which did not build for me (guile version incompability). Denemo-2.0.10 appears to be the current version and the attached ebuild bumps the build attached to comment #6 to that version. Apart from the version bump it also modifies the ebuild very slightly: given the movement in that direction in gentoo it unconditionally requires guile-2; also it requires virtual/jack for USE flag jack. A quick look at the 1.0.2 version configure --help output suggests that guile-2 ought to be useable for that version also. (I see that the currently-masked ebuild for lilypond (2.19.46) has a conditional test for the installed guile version and it could be that such a mechanism ought to be incorporated into the denmo ebuilds.) *** Bug 598280 has been marked as a duplicate of this bug. *** in the attachment of https://bugs.gentoo.org/show_bug.cgi?id=598280 are interesting ebuilds. Please test these and perhaps copy them to this ticket. There's a new version out 2.2.0. I used my 2.0.8 ebuild and built in suggestions from comment #10 and comment #8. I tried building against guile-2 and used similar conditional tests like in lilypond-2.19.* for the guile2 and gtk3 USE flags. I also adapted the metadata.xml file, but left the patching of the denemo.desktop file in a sed statement inside src_prepare instead of using a patch file like in bug #598280. On a first glance, the package compiles and runs. I've uploaded the ebuild to my github account under https://github.com/waebbl/gentoo-overlay/tree/master/media-sound/denemo. If you like, I can try and prepare a PR for it. Created attachment 498788 [details]
denemo-2.2.0 ebuild
Created attachment 498790 [details]
metadata.xml
Comment on attachment 498788 [details] denemo-2.2.0 ebuild ># Copyright 1999-2017 Gentoo Foundation ># Distributed under the terms of the GNU General Public License v2 > >EAPI=6 >inherit eutils xdg-utils Is eutils.eclass still needed? ># Features currently not used: ># --enable-debug(no) debug support ># --enable-mem(no) memory debugging The above are not features. ># --enable-doc(no) build documentation ># --enable-gtk-doc(no) use gtk-doc to build documentation ># --enable-gtk-doc-html(yes) build documentation in html format ># --enable-gtk-doc-pdf(no) build documentation in pdf format Why not? ># --enable-installed-tests(no) install some test cases ># --enable-alway-build-tests(no) run test suite Shouldn't src_test() take care of that? [...] >src_prepare() { > default_src_prepare > sed -i 's/^\(Categories.*[^;]\)$/\1;/g' pixmaps/denemo.desktop The sed script doesn't seem to do anything. (In reply to Jeroen Roovers from comment #14) > Comment on attachment 498788 [details] > denemo-2.2.0 ebuild > Is eutils.eclass still needed? Works without eutils, I removed it. > ># Features currently not used: > ># --enable-debug(no) debug support > ># --enable-mem(no) memory debugging > > The above are not features. It's just how configure --help calls those flags... "Optional Features" :) > ># --enable-doc(no) build documentation > ># --enable-gtk-doc(no) use gtk-doc to build documentation > ># --enable-gtk-doc-html(yes) build documentation in html format > ># --enable-gtk-doc-pdf(no) build documentation in pdf format > > Why not? Because I was focusing on the build of the binary, I wanted to add docs in the second stage. > ># --enable-installed-tests(no) install some test cases > ># --enable-alway-build-tests(no) run test suite > > Shouldn't src_test() take care of that? Might be, I rarely use tests and have to dig a little further first. I'll go and write a src_test() and see how I can handle this. > >src_prepare() { > > default_src_prepare > > sed -i 's/^\(Categories.*[^;]\)$/\1;/g' pixmaps/denemo.desktop > > The sed script doesn't seem to do anything. You're right, I didn't notice that. AFAIR this was introduced because it once produced an error during src_install(). As this is no longer the case and the Categories key is part of the spec, I would just leave the Categories= line the way it is and remove src_prepare(). Created attachment 498846 [details]
denemo-2.2.0.ebuild
I updated the ebuild file to include doc USE flag and test FEATURE.
The --enable-doc options doesn't seem to make anything on it's own. The --enable-gtk-doc-pdf option errors with a missing /usr/share/gtk-doc/data/gtk-doc-fo.xsl file. This file is part of gtk-doc's tar ball is part of EXTRA_DIST within Makefile.am and does not get installed. Also gtk-doc needs either app-text/dblatex or dev-java/fop to process pdf files. But even then, the file get's not installed. I tried and copied the file manually to /usr/share/gtk-doc/data but then the creation failed somewhere inside dblatex while calling pdflatex. ATM I haven't looked deeper into this and just disabled the usage of --enable-gtk-doc-pdf option. So I added a doc USE flag, which enables --enable-doc, enable-gtk-doc, --enable-gtk-doc-html and --disable-gtk-doc-pdf if set and disables all doc related configure options if not set.
The test feature doesn't work cleanly, but I decided to keep it for now and ask for some feedback. I works fine, when I compile and run the test suite on my personal account outside of portage. But when used with portage, it gives an error like this:
# cat /var/tmp/portage/media-sound/denemo-2.2.0/work/denemo-2.2.0/tests/test-suite.log
========================================
denemo 2.2.0: tests/test-suite.log
========================================
# TOTAL: 2
# PASS: 1
# SKIP: 0
# XFAIL: 0
# FAIL: 1
# XPASS: 0
# ERROR: 0
.. contents:: :depth: 2
FAIL: integration
=================
# random seed: R02Sb3b5d23f6c56570be9024c992b59d8ef
1..39
# Start of integration tests
Opening /var/tmp/portage/media-sound/denemo-2.2.0/work/denemo-2.2.0/tests/fixtures/denemo/blank.denemo
ok 1 /integration/open-blank-file
**
ERROR:integration.c:152:test_open_save_blank_file: assertion failed: (g_file_test(output, G_FILE_TEST_EXISTS))
# ERROR:integration.c:152:test_open_save_blank_file: assertion failed: (g_file_test(output, G_FILE_TEST_EXISTS))
../build/tap-test: line 5: 28016 Aborted (core dumped) $1 -k --tap
To me this looks like a permission issue, which I'm not sure how to solve properly. Any feedback to this is very welcome.
Another thing to mention is the output of repoman. It gives me a warning about Assignment to variable EXTRA_CONF on two lines. Because autotools-utils.eclass is banned in EAPI 6 I have no idea on how to pass additional configure options to econf but using EXTRA_CONF. I appreciate any hint how to solve this.
Created attachment 498848 [details]
metadata.xml
Updated for new denemo-2.2.0.ebuild.
I can proxy maintain this package and prepare a PR. Created attachment 506558 [details]
denemo-2.2.0 build log
Build log for denemo-2.2.0 from my PR
Created attachment 506560 [details]
metadata.xml
Updated metadata.xml
Created attachment 506562 [details]
denemo-2.2.0 ebuild
Updated ebuild
removed Few notes about 2.2.0: - It can build with guile2. Both build and work. But even before 2.2.0, guile may be entirely disabled with --disable-guile; - about docs: user manual is always installed, as it is prepackaged in usable form, and --enable-gtk-doc builds some dev docs, readable e.g. via devhelp; - though it still can't build with portaudio, building without it may be fixed by published patch: http://savannah.gnu.org/bugs/?52741 (patch text seems to be broken by savannah, removing begining whitespaces, yet when you copy - even empty lines are removed) Another bug still waits - i reported it only today: https://savannah.gnu.org/bugs/?53804 For now i could install it using own ebuild in local overlay with this: ============= # FEATURES=test emerge -av1 --nodeps denemo * Last emerge --sync was Вс 25 мар 2018 18:05:01. These are the packages that would be merged, in order: [ebuild R #] media-sound/denemo-2.2.0::nick87720z USE="alsa aubio doc* evince fluidsynth guile jack nls portmidi rubberband {test*} -coverage -debug -gtk2 -static-libs% (-portaudio%)" 0 KiB Total: 1 package (1 reinstall), Size of downloads: 0 KiB Would you like to merge these packages? [Yes/No] yes >>> Verifying ebuild manifests >>> Emerging (1 of 1) media-sound/denemo-2.2.0::nick87720z >>> Installing (1 of 1) media-sound/denemo-2.2.0::nick87720z >>> Jobs: 1 of 1 complete Load avg: 2.22, 1.56, 1.04 >>> Auto-cleaning packages... ============= I removed portaudio flag, configuring with --disable-portaudio, but what if to just mask it for affected package-version? Created attachment 529260 [details]
denemo-2.2.0.ebuild - without portaudio, guile2-only
Probably would not be bad if i post own version of same file name.
Created attachment 529262 [details, diff]
denemo-2.2.0-no-portaudio-fix.patch
Created attachment 529410 [details]
denemo-2.2.0.ebuild - with no-portaudio fix
Please, consider to return it back... Of course, if reasons are only related to quality, like guile-1.8 deps, test fails, etc. I have "make check" ok with almost all use flags (only not tested with gtk2).
Portaudio use flag is back. I just discovered, that without no-portaudio fix patch it doesn't build without portaudio, but builds with it. Without patch it is reversed. Bug handling is in progress, so future versions are expected to get fix.
You can try to get it proxy maintained to get it into the tree again: https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers Or maybe better, to not pollute this old bug anymore and not bother the reporter (that will get the mails always), it will be better to open a new bug report and attach the patches there. Also trying to contact proxy-maint people via IRC and providing github pull requests could make things run faster |