Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 442916 - media-sound/ladish - Successor of media-sound/lash.
Summary: media-sound/ladish - Successor of media-sound/lash.
Status: UNCONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: Normal enhancement with 1 vote (vote)
Assignee: Default Assignee for New Packages
URL:
Whiteboard:
Keywords: EBUILD, PATCH
: 504884 (view as bug list)
Depends on:
Blocks:
 
Reported: 2012-11-12 21:27 UTC by tokiclover
Modified: 2017-09-26 19:58 UTC (History)
8 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
media-sound/ladish-9999.ebuild (ladish-9999.ebuild,1.73 KB, text/plain)
2012-11-12 21:27 UTC, tokiclover
Details
media-sound/ladish-1.ebuild (ladish-1.ebuild,1.75 KB, text/plain)
2012-11-12 21:28 UTC, tokiclover
Details
Manifest (Manifest,1.69 KB, text/plain)
2012-11-12 21:28 UTC, tokiclover
Details
media-sound/metadata.xml (metadata.xml,650 bytes, text/plain)
2012-11-12 21:29 UTC, tokiclover
Details
media-sound/files/lash-1.0.pc.patch (lash-1.0.pc.in.patch,274 bytes, text/plain)
2012-11-12 21:37 UTC, tokiclover
Details
ladish-1.ebuild from proaudio (revision 2) (ladish-1-r2.ebuild,1.24 KB, text/plain)
2014-03-25 00:13 UTC, gerion
Details
ladish-9999.ebuild form proaudio overlay (revision 1) (ladish-9999-r1.ebuild,1.18 KB, text/plain)
2014-03-25 00:14 UTC, gerion
Details
media-sound/ladish-1-r2.ebuild (ladish-1-r2.ebuild,2.43 KB, text/plain)
2015-08-31 10:07 UTC, tokiclover
Details
lash to ladish compatibility (compat_report.html,202.83 KB, text/html)
2017-09-11 13:32 UTC, Dominique Michel
Details
ABI compat report (compat_report.html,185.11 KB, text/html)
2017-09-12 20:00 UTC, Simon
Details
public ABI compat report (compat_report_public.html,92.05 KB, text/html)
2017-09-12 20:00 UTC, Simon
Details

Note You need to log in before you can comment on or make changes to this bug.
Description tokiclover 2012-11-12 21:27:46 UTC
Created attachment 329388 [details]
media-sound/ladish-9999.ebuild

media-sound/ladish is the successor of media-sound/lash which is a complete re-written the latter.

No need to say that the former is very useful and handy compared to the later which has an option to build lash libraries and python bindings. 

It has a very nice and usefull media-sound/patchage [gtk] gui which can save/load session and a nice status bar.

There are an ebuild in ladi overlay but I won't recommand that one because the overlay is not that oftenly updated and I remember fighting to only contact the maintainers to update missing dependency that I did not try again.

I will attach the current ebuilds+Manifest but I will not update this bug as everything is on my [bar-]overlay at https://github.com/tokiclover/bar-overlay.
Comment 1 tokiclover 2012-11-12 21:28:24 UTC
Created attachment 329390 [details]
media-sound/ladish-1.ebuild
Comment 2 tokiclover 2012-11-12 21:28:53 UTC
Created attachment 329392 [details]
Manifest
Comment 3 tokiclover 2012-11-12 21:29:23 UTC
Created attachment 329394 [details]
media-sound/metadata.xml
Comment 4 tokiclover 2012-11-12 21:37:04 UTC
Created attachment 329402 [details]
media-sound/files/lash-1.0.pc.patch

lash-1.0.pc file wich correct the wrong or old media-sound/lash pkgconfig file. Actually, the header files are installed in '${prefix}/include' and not in '${prefix}/include/lash-1.0'. And anyway, even correcting the location of the heder files, some pkg like media-sound/hydrogen have hard coded header files like '<lash-1.0/lash/$headerfile.h>' instead of using 'pkg-config --cflags lash-1.0' and include header file in a standard way like '<lash/$headerfile.h>'.

I will be posted a huge patch to add this package in a 'lash? ( || ( media-sound/ladish media-sound/lash ) )' for the related ebuilds.

Hydrogen compile just fine with media-sound/ladish.

Last but not least, I had to include a symlink to the ebuild 'ln -s ${prefix}/include/{,lash-1.0/}lash' to cope with that mess.
Comment 5 tokiclover 2012-11-12 21:42:31 UTC
And yes, media-sound/lash was not updated for months so there is no particular reason to keep maintaining it and leave the new rewrite on the side.
Comment 6 gerion 2014-02-08 22:56:42 UTC
Would love this ebuild, too. ladi and proaudio overlay defines a virtual/liblash, so the user could choose his favorite implementation. Both overlays workaround the hardcoded lash dependencies in the official tree.

At least it would be useful to create a virtual/liblash, that link to media-sound/lash, so the workarounds are not necessary.

I just looked at the last commits. The last ladish commit was 6 month ago, the last lash commit was 2009.
Comment 7 gerion 2014-03-17 12:07:50 UTC
If the problem is a missing maintainer, I am willing to maintain this.
Comment 8 gerion 2014-03-17 12:09:30 UTC
See here, too: https://bugs.gentoo.org/show_bug.cgi?id=504884
Comment 9 Jeroen Roovers gentoo-dev 2014-03-17 13:33:50 UTC
*** Bug 504884 has been marked as a duplicate of this bug. ***
Comment 10 Tom Wijsman (TomWij) (RETIRED) gentoo-dev 2014-03-17 21:07:42 UTC
(In reply to gerion from comment #7)
> If the problem is a missing maintainer, I am willing to maintain this.

That's something that can happen, yes; are you okay with the attached files?
Comment 11 gerion 2014-03-25 00:11:54 UTC
No, there are newer more tested ones from the proaudio overlay I would prefer (much cleaner and use of python and waf eclass). Unfortunately the website of ladish is down, so I can't test ladish-1 (download fails), ladish-9999 compiles fine and the ebuild looks good to me.

See attached ebuilds.
Comment 12 gerion 2014-03-25 00:13:38 UTC
Created attachment 373454 [details]
ladish-1.ebuild from proaudio (revision 2)
Comment 13 gerion 2014-03-25 00:14:29 UTC
Created attachment 373456 [details]
ladish-9999.ebuild form proaudio overlay (revision 1)
Comment 15 gerion 2014-03-25 00:26:57 UTC
9999 compiles fine with all combination of useflags and configure output matches with the useflag configuration. The useflag dependencies are also correct (python needs lash).
Comment 16 gerion 2014-03-25 00:36:43 UTC
Is it meaningful to provide a "debug" useflag? The waf configure script says:
"--debug               Build debuggable binaries"
Then this line has to be added:
'$(usex debug --debug "")'
Comment 17 tokiclover 2015-08-31 10:07:08 UTC
Created attachment 410682 [details]
media-sound/ladish-1-r2.ebuild

Thereby attaching a new unfied versioned/live ebuild with multilib support; so, a live version can be obtained by copying this one.

NOTE: I added proaudio herd, so, @yngwin can commit the addition to the main tree after a discusion in @pro-audio thread in the forums.

Thanks.
Comment 18 Ian Delaney (RETIRED) gentoo-dev 2015-09-05 15:13:56 UTC
How and why is proxy-mantainers added here? Does tokiclover  wish to proxy maintain the package under the project / herd? proxy-mantainers does new packages like this now.
Comment 19 Simon 2017-07-03 10:21:00 UTC
How can we progress this issue?
Adding the virtual/liblash would be a simple first step, then updating the packages that current hard depend on lash and adding ladish can be done after that. Does that make sense?
Comment 20 tokiclover 2017-07-16 08:29:46 UTC
That's the ideal solution, add both virtual/liblash[1] and media-sound/ladish[2] to have the newer ladish[2] choice and offer the possibility to use the newer library by providing a virtual package. This the solution used in proaudio overlay or in my overlay. So fee free to pull the ebuilds of proaudio or bar overlay. I would have thought than @yngwin would have pulled those two ebuilds in the main tree since ages ago.

[1]: https://github.com/tokiclover/bar-overlay/tree/master/virtual/liblash
[2]: https://github.com/tokiclover/bar-overlay/tree/master/media-sound/ladish
Comment 21 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2017-07-16 08:36:02 UTC
Do the both packages provide ABI-compatible libraries? If not, then the virtual is not an option.
Comment 22 Dominique Michel 2017-08-18 10:51:57 UTC
I discussed by emails with Nedko Arnaudov, the developper of ladish. He just answered me:

"ladish has API compatible implementation of liblash.
The ladish liblash implementation talks to ladish daemon."

I just asked fot the ABi compatibility, but I suppose it is OK. We provide ladish from years into the pro-audio overlay, and we never get a complain about it.
Comment 23 Simon 2017-08-31 18:29:21 UTC
@Michał Górny AFAIK they are compatible, though I don't know for sure if they are ABI compatible. How can we check that/make sure that that's the case?
Comment 24 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2017-08-31 20:24:12 UTC
I suppose you could try using dev-util/abi-compliance-checker. It's a really cool tool. You should be able to find some good docs online.
Comment 25 Dominique Michel 2017-09-11 13:32:32 UTC
Created attachment 493990 [details]
lash to ladish compatibility
Comment 26 Dominique Michel 2017-09-11 13:34:17 UTC
I made that test, and it look like they are not ABI compatible. But I am not sure because it is the first time I made such a test. So someone more capable than me need to take a look.
Comment 27 Dominique Michel 2017-09-11 13:52:39 UTC
So, what is the right solution? I guess something like

a) as ladish is the successor of lash, remove lash and add ladish, and modify the depend of the few portage packages depending on liblash - if they run with ladish, remove them otherwise.

b) keep lash, provide ladish, and make a depend like 
lash? ( || ( media-sound/lash media-sound/ladish[lash] ) )
in the packages which depend on liblash.
Comment 28 Simon 2017-09-11 19:02:14 UTC
The public ABI is actually 100% compatible, see output below:
$ abi-compliance-checker -l lashpublic -old first-binary.dump -new second-binary.dump
Preparing, please wait ...
Comparing ABIs ...
Comparing APIs ...
Creating compatibility report ...
Binary compatibility: 100%
Source compatibility: 100%
Total binary compatibility problems: 0, warnings: 53
Total source compatibility problems: 0, warnings: 0

I guess that's the part of the ABI that's actually important, right?
Comment 29 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2017-09-11 20:24:41 UTC
Simon, could you attach the results?
Comment 30 Simon 2017-09-12 20:00:02 UTC
Created attachment 494258 [details]
ABI compat report

Attached the compat report for the entire ABI

Created this way:
emerge -1av lash
abi-dumper /usr/lib64/liblash.so.1.1.1 -o lash.dump -lver 0 --search-debuginfo=/usr/lib/debug
emerge -Cav lash
emerge -1av ladish
abi-dumper /usr/lib64/liblash.so.1.1.1 -o ladish.dump -lver 1 --search-debuginfo=/usr/lib/debug
abi-compliance-checker -l lash2ladish -old lash.dump -new ladish.dump
Comment 31 Simon 2017-09-12 20:00:58 UTC
Created attachment 494260 [details]
public ABI compat report

Attached the compat report for the public ABI

Created this way:
emerge -1av lash
abi-dumper /usr/lib64/liblash.so.1.1.1 -o lash-public.dump -lver 0 -public-headers /usr/include/lash-1.0/lash/ --search-debuginfo=/usr/lib/debug
emerge -Cav lash
emerge -1av ladish
abi-dumper /usr/lib64/liblash.so.1.1.1 -o ladish-public.dump -lver 1 -public-headers /usr/include/lash-1.0/lash/ --search-debuginfo=/usr/lib/debug
abi-compliance-checker -l lash2ladishpublic -old lash-public.dump -new ladish-public.dump
Comment 32 Simon 2017-09-25 12:03:38 UTC
Michał what do you think? If the public ABI is compatible both of them can be used interchangeably, right?
Comment 33 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2017-09-25 13:07:49 UTC
In that case, yes, they can.
Comment 34 Simon 2017-09-26 19:58:46 UTC
OK, then in reply to the question you asked

> So, what is the right solution? I guess something like
> 
> a) as ladish is the successor of lash, remove lash and add ladish, and
> modify the depend of the few portage packages depending on liblash - if they
> run with ladish, remove them otherwise.
> 
> b) keep lash, provide ladish, and make a depend like 
> lash? ( || ( media-sound/lash media-sound/ladish[lash] ) )
> in the packages which depend on liblash.

I would suggest to add ladish and remove lash.
Ladish is lash's successor and since the ABI is compatible ladish can simply replace it.