Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 515888

Summary: media-sound/denemo-2.2.0 version bump
Product: Gentoo Linux Reporter: Jeroen Roovers (RETIRED) <jer>
Component: Current packagesAssignee: Gentoo Sound Team <sound>
Status: RESOLVED WONTFIX    
Severity: normal CC: gentoo, gentoo, joost.ruis, jstein, kingjon3377, nick87720z, 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) gentoo-dev 2014-06-30 20:07:31 UTC
Out today.
Comment 1 Jonas Stein gentoo-dev 2015-05-19 11:07:21 UTC
Release 1.2.2 is out now.

http://savannah.gnu.org/forum/forum.php?forum_id=8236
Comment 2 Peter Fox 2015-06-02 21:17:59 UTC
Created attachment 404482 [details]
ebuild for denemo-1.2.2

This builds, but no idea if it works properly.
Comment 3 Jonas Stein gentoo-dev 2015-12-18 07:06:34 UTC
denemo 2.0 has been released on 2015-10-30
Comment 4 reisio 2016-05-01 04:53:19 UTC
More recent version ebuild selection at bug 567786.
Comment 5 Jeroen Roovers (RETIRED) gentoo-dev 2016-05-01 08:29:53 UTC
*** Bug 567786 has been marked as a duplicate of this bug. ***
Comment 6 Bernd 2016-05-15 17:43:54 UTC
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.
Comment 7 Adrian Bassett 2016-08-19 14:29:12 UTC
Created attachment 443766 [details]
denemo-2.0.10.ebuild
Comment 8 Adrian Bassett 2016-08-19 14:32:02 UTC
(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.)
Comment 9 Jonas Stein gentoo-dev 2016-10-30 00:13:08 UTC
*** Bug 598280 has been marked as a duplicate of this bug. ***
Comment 10 Jonas Stein gentoo-dev 2016-10-30 00:16:15 UTC
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.
Comment 11 Bernd 2017-10-15 20:01:17 UTC
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.
Comment 12 Bernd 2017-10-15 20:02:43 UTC
Created attachment 498788 [details]
denemo-2.2.0 ebuild
Comment 13 Bernd 2017-10-15 20:03:13 UTC
Created attachment 498790 [details]
metadata.xml
Comment 14 Jeroen Roovers (RETIRED) gentoo-dev 2017-10-15 20:56:10 UTC
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.
Comment 15 Bernd 2017-10-16 05:46:17 UTC
(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().
Comment 16 Bernd 2017-10-16 17:24:50 UTC
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.
Comment 17 Bernd 2017-10-16 17:25:22 UTC
Created attachment 498848 [details]
metadata.xml

Updated for new denemo-2.2.0.ebuild.
Comment 18 Bernd 2017-11-23 21:35:26 UTC
I can proxy maintain this package and prepare a PR.
Comment 19 Bernd 2017-11-25 12:54:59 UTC
Created attachment 506558 [details]
denemo-2.2.0 build log

Build log for denemo-2.2.0 from my PR
Comment 20 Bernd 2017-11-25 12:57:19 UTC
Created attachment 506560 [details]
metadata.xml

Updated metadata.xml
Comment 21 Bernd 2017-11-25 12:57:48 UTC
Created attachment 506562 [details]
denemo-2.2.0 ebuild

Updated ebuild
Comment 22 Pacho Ramos gentoo-dev 2018-04-29 18:08:58 UTC
removed
Comment 23 Nikita Zlobin 2018-05-01 17:34:25 UTC
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?
Comment 24 Nikita Zlobin 2018-05-01 17:39:49 UTC
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.
Comment 25 Nikita Zlobin 2018-05-01 17:41:25 UTC
Created attachment 529262 [details, diff]
denemo-2.2.0-no-portaudio-fix.patch
Comment 26 Nikita Zlobin 2018-05-02 14:19:56 UTC
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.
Comment 27 Pacho Ramos gentoo-dev 2018-05-02 18:36:26 UTC
You can try to get it proxy maintained to get it into the tree again:
https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers
Comment 28 Pacho Ramos gentoo-dev 2018-05-02 18:40:00 UTC
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