这是indexloc提供的服务,不要输入任何密码
Skip to content

enhance(main/libopenmpt, mpg123, chromaprint): split libopenmpt, mpg123 and chromaprint executables from their libraries #25227

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

NORALDM
Copy link
Contributor

@NORALDM NORALDM commented Jul 1, 2025

This PR splits chromaprint into libchromaprint + chromaprint by replacing ffmpeg with fftw3 for FFT to avoid pulling in ffmpeg when it's not needed. It also splits libopenmpt and mpg123 into openmpt123 + libopenmpt and mpg123 + libmpg123 to avoid pulling in pulseaudio when it's not needed.

@truboxl
Copy link
Contributor

truboxl commented Jul 1, 2025

Better put chromaprint as the subpackage while the main package renamed to libchromaprint.

@NORALDM
Copy link
Contributor Author

NORALDM commented Jul 1, 2025

Better put chromaprint as the subpackage while the main package renamed to libchromaprint.

That's probably a better approach, I'll update the PR
(another hour of CI 🥲)

Copy link
Contributor

@truboxl truboxl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's probably a better approach, I'll update the PR
(another hour of CI 🥲)

Dont worry too much. Its better to find issues early on before merge with many eyeballs around.

Unlike recent commits that need to be fixup a few times...

TERMUX_PKG_SRCURL=https://github.com/tizonia/tizonia-openmax-il/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=0750cae23ed600fb4b4699a392f43a5e03dcd0870383d64da4b8c28ea94a82f8
TERMUX_PKG_DEPENDS="boost, dbus, libandroid-wordexp, libc++, libcurl, libflac, liblog4c, libmad, libmediainfo, libmp3lame, liboggz, libopus, libsndfile, libsqlite, libuuid, libvpx, mpg123, opusfile, pulseaudio, python, taglib"
TERMUX_PKG_DEPENDS="boost, dbus, libandroid-wordexp, libc++, libcurl, libflac, liblog4c, libmad, libmediainfo, libmp3lame, liboggz, libopus, libsndfile, libsqlite, libuuid, libvpx, libmpg123, opusfile, pulseaudio, python, taglib"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
TERMUX_PKG_DEPENDS="boost, dbus, libandroid-wordexp, libc++, libcurl, libflac, liblog4c, libmad, libmediainfo, libmp3lame, liboggz, libopus, libsndfile, libsqlite, libuuid, libvpx, libmpg123, opusfile, pulseaudio, python, taglib"
TERMUX_PKG_DEPENDS="boost, dbus, libandroid-wordexp, libc++, libcurl, libflac, liblog4c, libmad, libmediainfo, libmp3lame, liboggz, libopus, libsndfile, libsqlite, libuuid, libvpx, libmpg123, opusfile, pulseaudio, python, taglib, util-linux"

For reasons I dont understand for now, this is needed to avoid clashing with util-linux installation due to the existence of $PREFIX/local/lib/python3.12/dist-packages/libmount/ in both packages

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did some investigation, and it happens because https://github.com/tizonia/tizonia-openmax-il/blob/master/clients/meson_post_install.py compiles all packages in $PREFIX/local/lib/python3.12/dist-packages to bytecode, which includes the util-linux installed libmount package

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

will prevent that problem globally if it ever happens again in another package. the PR might be ready soon, but also might require more changes to minor details before applying.

@NORALDM NORALDM force-pushed the split-packages branch 7 times, most recently from 126305a to 178b427 Compare July 22, 2025 12:27
NORALDM added 6 commits July 27, 2025 11:09
…omaprint

Chromaprint consists of the libchromaprint library and a tool to calculate
audio fingerprints (fpcalc). fpcalc depends on ffmpeg but libchromaprint can
use fftw instead of ffmpeg and hence can be split into a subpackage to avoid
pulling in ffmpeg.
* rename(main/chromaprint): libchromaprint
mpg123 depends on pulseaudio for audio playback, while libmpg123 does not, hence
mpg123 is split into a subpackage of libmpg123
* rename(main/mpg123): libmpg123
openmpt123 depends on libflac, libsndfile and pulseaudio, which are not needed by libopenmpt
@robertkirkman
Copy link
Contributor

This is ready now, right? It looks correct to me.

@NORALDM
Copy link
Contributor Author

NORALDM commented Jul 27, 2025

It's ready, I just saw a merge conflict and force pushed to fix it

NORALDM added 2 commits July 27, 2025 11:48
 * mpd: libchromaprint, libmpg123, libopenmpt
 * ffmpeg: libopenmpt
 * audacious-plugins: libmpg123, libopenmpt
 * audacity: libmpg123
 * chocolate-doom: mpg123 removed from deps (reverts 1a200e2)
 * deadbeef: libmpg123, upstream url update
 * love: libmpg123
 * sdl2-mixer: libmpg123
 * vlc-qt: libchromaprint, libmpg123
 * vlc: libchromaprint, libmpg123
 * kid3: libchromaprint
 * mp3gain: libmpg123
 * mplayer: libmpg123
 * squeezelite: libmpg123
 * tizonia: libmpg123, build fix
 * vgmstream: libmpg123
 * gst-plugins-good: libmpg123
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants