View Issue Details

IDProjectCategoryView StatusLast Update
0000777OpenMPTlibopenmptpublic2020-04-14 09:48
Reportermanx Assigned Tomanx  
PrioritylowSeverityminorReproducibilityN/A
Status resolvedResolutionfixed 
Target VersionOpenMPT 1.29.01.00 / libopenmpt 0.5.0 (upgrade first)Fixed in VersionOpenMPT 1.29.01.00 / libopenmpt 0.5.0 (upgrade first) 
Summary0000777: Remove libmodplug emulation layer
Description

Move the libmodplug emulation layer to contrib and remove it from all standard build systems. It has served us long enough and had not been used all that much in practice. It mainly introduces build system complication and maintanance overhead.

TagsNo tags attached.
Has the bug occurred in previous versions?
Tested code revision (in case you know it)

Relationships

related to 0001293 resolvedmanx libmodplug should have version 0.8.9.x 

Activities

manx

manx

2017-02-16 20:10

administrator   ~0002881

This probably needs to be delayed until after various high-profile applications are ported from libmoplug to libopenmpt.
In particular:

  • gstreamer should merge or at least endorse gst-nonstream-audio
  • vlc needs native libopenmpt support
  • mpv
manx

manx

2020-02-01 10:26

administrator   ~0004196

libmodplug has again broken binary ABI compatibility (of the C++ API) in https://github.com/Konstanty/libmodplug/commit/afe790abc9ff106e815ec72bc64e5c95818eee4c#diff-9baf68b1f1a1b9ff2719c2876edfb565 . Apparently some downstream (VLC-dev (see https://bugs.openmpt.org/view.php?id=1293 )) does already depend on this as-of-yet unreleased version, which is problematic for us as we cannot at the same time implement the current stable ABI and the ABI that is implemented by the libmodplug version that VLC-dev depends on.

Splitting libopenmpt-modplug out from libopenmpt would allow downstream to mix and match versions between libopenmpt and the libmodplug emulation layer.

manx

manx

2020-02-11 15:19

administrator   ~0004204

split-libmodplug-v1.patch (128,213 bytes)   
manx

manx

2020-02-11 15:37

administrator   ~0004205

manx

manx

2020-02-11 15:40

administrator   ~0004206

The plan here is to apply split-libmodplug to trunk (and maintain it in trunk (and only trunk) for the time being), and apply deprecate-libopenmpt-modplug to trunk and merge it to 0.4.
After that, a separate kill-libmodplug patch will remove the emulation layer from the main package in trunk.

manx

manx

2020-02-11 15:44

administrator   ~0004207

split-libmodplug only implements the autoconf/pkg-config build system. However the only known user of this whole emulation layer is only the VLC in Debian and Ubuntu, which requires this build system. I do not think it makes sense to invest much development effort in addition to that.

manx

manx

2020-04-14 09:48

administrator   ~0004288

  • r12615 adds contrib libmodplug 0.8.8.5
  • r12647 adds contrib libmodplug 0.8.9.0
  • r12625 deprecated libmodplug (r12641 in 0.4)
  • r12644 removes libmodplug

Issue History

Date Modified Username Field Change
2016-05-04 08:15 manx New Issue
2016-05-04 08:15 manx Status new => assigned
2016-05-04 08:15 manx Assigned To => manx
2017-02-16 20:10 manx Note Added: 0002881
2020-02-01 10:22 manx Relationship added related to 0001293
2020-02-01 10:26 manx Note Added: 0004196
2020-02-11 15:19 manx Note Added: 0004204
2020-02-11 15:19 manx File Added: split-libmodplug-v1.patch
2020-02-11 15:37 manx Note Added: 0004205
2020-02-11 15:37 manx File Added: deprecate-libopenmpt-modplug-v2.patch
2020-02-11 15:40 manx Note Added: 0004206
2020-02-11 15:40 manx Target Version OpenMPT 1.?? (libopenmpt 1.0) (goals) => OpenMPT 1.29.01.00 / libopenmpt 0.5.0 (upgrade first)
2020-02-11 15:44 manx Note Added: 0004207
2020-04-14 09:48 manx Status assigned => resolved
2020-04-14 09:48 manx Resolution open => fixed
2020-04-14 09:48 manx Fixed in Version => OpenMPT 1.29.01.00 / libopenmpt 0.5.0 (upgrade first)
2020-04-14 09:48 manx Note Added: 0004288