Bug 1014468

Summary: Please update mpcdec to the newer SV8 versions
Product: [Fedora] Fedora Reporter: Ankur Sinha (FranciscoD) <sanjay.ankur>
Component: libmpcdecAssignee: Yaakov Selkowitz <yselkowi>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: a2m-dev, belegdol, kvolny, rdieter, yselkowi
Target Milestone: ---Keywords: FutureFeature
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: libmpcdec-1.3.0-0.1.20110810svn475.fc38 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-03-24 02:03:29 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2167841    
Bug Blocks: 1674198    

Description Ankur Sinha (FranciscoD) 2013-10-02 06:53:04 UTC
Description of problem:
libmpcdec is still at version 1.2.6 which is the SV7 code. Upstream has said that this code will not get updates, and people should instead use SV8.

Version-Release number of selected component (if applicable):
1.2.6

Additional info:
http://www.musepack.net/index.php?pg=src  says:

"note: Old. Refer to above SV8 lib (compatible with SV7)"

Software such as mpd has already made the shift to the new API, so an update here would be welcome.

Comment 1 Nicolas Chauvet (kwizart) 2013-10-02 08:10:11 UTC
This is true, this package is outdated. Unfortunately the source code looks insane to a package point of view. 

Help welcomed.

Comment 2 Ankur Sinha (FranciscoD) 2013-10-12 00:30:26 UTC
Yeah. To start with, looks like upstream is releasing all libraries together, with a single cmake build system:

http://svn.musepack.net/libmpc/trunk/

I can't seem to find the other musepack libraries in Fedora. I wonder what the best way forward is:

- use the new tar, generate all libraries, split into subpackages:
This will require a spec change, so a new package, and a fresh review IMO

- use the new tar, generate everything but only pack the libmpcdec part to update our package here:
Might cause trouble later if someone else decides to pack the other musepack libraries (duplication of src tar + build steps, at least)

What do you folks think?

[asinha@ankur-laptop  ~]$ sudo yum search libmpc
[sudo] password for asinha:
Loaded plugins: langpacks, refresh-packagekit
========================================================================= N/S matched: libmpc ==========================================================================
compat-libmpc.i686 : compat/bootstrap mpc-0.9 library
compat-libmpc.x86_64 : compat/bootstrap mpc-0.9 library
libmpc.i686 : C library for multiple precision complex arithmetic
libmpc.x86_64 : C library for multiple precision complex arithmetic
libmpc-devel.i686 : Header and shared development libraries for MPC
libmpc-devel.x86_64 : Header and shared development libraries for MPC
libmpcdec.i686 : Musepack audio decoding library
libmpcdec.x86_64 : Musepack audio decoding library
libmpcdec-devel.i686 : Development files for the Musepack audio decoding library
libmpcdec-devel.x86_64 : Development files for the Musepack audio decoding library

  Name and summary matches only, use "search all" for everything.
[asinha@ankur-laptop  ~]$

Thanks,
Warm regards,
Ankur

Comment 3 Rex Dieter 2013-10-12 04:04:40 UTC
+1 to " use the new tar, generate all libraries, split into subpackages:
This will require a spec change, so a new package, and a fresh review" plan

Comment 4 Ankur Sinha (FranciscoD) 2013-10-12 07:09:32 UTC
(In reply to Rex Dieter from comment #3)
> +1 to " use the new tar, generate all libraries, split into subpackages:
> This will require a spec change, so a new package, and a fresh review" plan

I'm working on a new package. Not as simple as I had hoped. Ran into this one already:

https://bugzilla.redhat.com/show_bug.cgi?id=1018449

Comment 5 Ankur Sinha (FranciscoD) 2013-10-12 07:47:12 UTC
More issues:

It uses gain_analysis.h from LAME, so it might have to go to RPMFusion. gain_analysis.h isn't even a header that lame installs. It's an internal header. Mailed upstream about this.

Ankur

Comment 6 Ankur Sinha (FranciscoD) 2013-10-13 01:05:21 UTC
(In reply to Ankur Sinha (FranciscoD) from comment #5)
> More issues:
> 
> It uses gain_analysis.h from LAME, so it might have to go to RPMFusion.
> gain_analysis.h isn't even a header that lame installs. It's an internal
> header. Mailed upstream about this.
> 
> Ankur

They have their own libreplaygain implementation. Packing that up as a BR too. 

http://svn.musepack.net/libreplaygain/

Comment 7 Ankur Sinha (FranciscoD) 2013-10-13 06:09:47 UTC
Review posted for the musepack library:

https://bugzilla.redhat.com/show_bug.cgi?id=1018546

Thanks,
Warm regards,
Ankur

Comment 8 Fedora End Of Life 2015-05-29 09:29:51 UTC
This message is a reminder that Fedora 20 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 20. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '20'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 20 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 9 Jan Kurik 2015-07-15 14:45:00 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 23 development cycle.
Changing version to '23'.

(As we did not run this process for some time, it could affect also pre-Fedora 23 development
cycle bugs. We are very sorry. It will help us with cleanup during Fedora 23 End Of Life. Thank you.)

More information and reason for this action is here:
https://fedoraproject.org/wiki/BugZappers/HouseKeeping/Fedora23

Comment 10 Fedora End Of Life 2016-11-24 11:03:00 UTC
This message is a reminder that Fedora 23 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 23. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '23'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 23 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 11 Rex Dieter 2016-12-01 19:11:57 UTC
marking futurefeature

Comment 12 Karel Volný 2019-02-12 15:12:13 UTC
ping, guys, is there anything that can be done to move forward with this?

- it blocks update of qmmp, as the upstream has dropped support for the old code, and I really don't feel like patching it back (or dropping musepack support)

Comment 13 Rex Dieter 2019-02-12 15:17:41 UTC
You're welcome to help maintaining and package up the new modularized components for review.  Personally, I'm at best a passive comaintainer that help out here because I have a package or 2 that depend on this.

(Last time I looked, it was still quite a mess, but hopefully things have improved)

Comment 14 Karel Volný 2019-08-06 12:54:06 UTC
reading https://bugzilla.redhat.com/show_bug.cgi?id=1018546#c7 I don't feel like doing all that work ...

guess I'm going to drop mpc support in qmmp then :-(

Comment 15 Alex Malykh 2022-06-03 09:06:07 UTC
Hello there. I've run into this problem as well, when switched to qmmp from another player. It's built and packaged without Musepack support. As a temporary solution, I took side-built SV8-enabled libmpcdec and corresponding qmmp input plugin. But I did some research to see what can be done to solve the problem in a clean and correct way. The original source code from http://musepack.net/ is not maintained any longer, and yes, it is a spaghetti mess. It looks like the authors had begun to refactor the code, but dropped it half way eventually. I have managed to isolate libmpcdec library and mpcdec CLI tool sources so that they could be built and packaged separately (into libmpcdec, libmpcdec-devel and mpcdec-cli rpm packages, for example). If you guys are still interested, I could provide patches and building demo scripts. The encoder part of library is much harder to decompose, so this is a matter of further research.

Comment 16 Yaakov Selkowitz 2023-02-07 18:36:31 UTC
gstreamer1-plugins-bad-free is also missing musepack support for this reason.  I have the following ready:

* libcuefile, a new dependency of the tools included in the source package; see bug 2167841

* compat-libmpcdec: new runtime-only library compat package to avoid breaking current builds:

https://yselkowitz.fedorapeople.org/compat-libmpcdec.spec
https://yselkowitz.fedorapeople.org/compat-libmpcdec-1.2.6-32.fc38.src.rpm

* libmpcdec: updated to the new source package with included tools:

https://yselkowitz.fedorapeople.org/libmpcdec.spec
https://yselkowitz.fedorapeople.org/libmpcdec-1.3.0-0.1.20110810svn475.fc38.src.rpm

Rex, could we work out (co)maintainership of this package in order to move this along?

Comment 17 Yaakov Selkowitz 2023-02-07 20:23:01 UTC
The following COPR provides a test of the new builds and dependent packages for Fedora rawhide (38) and EPEL 9:

https://copr.fedorainfracloud.org/coprs/yselkowitz/musepack-sv8/monitor/

Successful use of the new version can be detected by 'libmpcdec.so.6()(64bit)' being listed as a Requires.  The one exception was xmms2, which rebuilds but without the musepack plugin, which claims it can't fine -lmpcdec despite finding the header file.  This is probably just a bug in the package's build system and will need to be fixed by the maintainer.  (I would file a BZ and skip rebuilding it; the current build would continue to work with the compat- package.)

The EPEL failures can be ignored, those packages just aren't ready yet to build for EPEL.

Comment 18 Yaakov Selkowitz 2023-02-26 05:48:16 UTC
libcuefile is now in Fedora, so we could proceed with an update to libmpcdec.

The current Fedora consumers of libmpcdec are: k3b, xine-lib, xmms2.  (gstreamer1-plugins-bad-free and qmmp would be added after this update.)

RPMFusion consumers are: aqualung, cmus, vlc.

How would you like to proceed?

Comment 19 Yaakov Selkowitz 2023-03-12 15:04:13 UTC
@rdieter ping?

Comment 20 Rex Dieter 2023-03-12 15:15:46 UTC
Adding you as co (or primary) maintainer sounds good to me

Comment 22 Yaakov Selkowitz 2023-03-13 02:11:28 UTC
(In reply to Yaakov Selkowitz from comment #18)
> RPMFusion consumers are: aqualung, cmus, vlc.

mpd could also be added after this update.

Comment 23 Fedora Update System 2023-03-17 17:32:45 UTC
FEDORA-2023-e816b055be has been submitted as an update to Fedora 39. https://bodhi.fedoraproject.org/updates/FEDORA-2023-e816b055be

Comment 24 Fedora Update System 2023-03-17 19:29:52 UTC
FEDORA-2023-f7692fbb8c has been submitted as an update to Fedora 38. https://bodhi.fedoraproject.org/updates/FEDORA-2023-f7692fbb8c

Comment 25 Fedora Update System 2023-03-17 21:42:14 UTC
FEDORA-2023-e816b055be has been pushed to the Fedora 39 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 26 Julian Sikorski 2023-03-17 22:18:45 UTC
I have built mednafen with libmpcdec support enabled, could you add it to the update please? Thanks!

Comment 27 Fedora Update System 2023-03-18 05:14:17 UTC
FEDORA-2023-f7692fbb8c has been pushed to the Fedora 38 testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-f7692fbb8c

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 28 Fedora Update System 2023-03-20 01:51:53 UTC
FEDORA-2023-f7692fbb8c has been pushed to the Fedora 38 testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-f7692fbb8c

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 29 Fedora Update System 2023-03-24 02:03:29 UTC
FEDORA-2023-f7692fbb8c has been pushed to the Fedora 38 stable repository.
If problem still persists, please make note of it in this bug report.