blob: b03ee9f71a9301f5edb19ded5b500fcb78f50608 [file] [log] [blame]
Patrick Williams92b42cb2022-09-03 06:53:57 -05001SUMMARY = "Audio decoder for MPEG-1 Layer 1/2/3"
2DESCRIPTION = "The core of mpg123 is an MPEG-1 Layer 1/2/3 decoding library, which can be used by other programs. \
3mpg123 also comes with a command-line tool which can playback using ALSA, PulseAudio, OSS, and several other APIs, \
4and also can write the decoded audio to WAV."
5HOMEPAGE = "http://mpg123.de/"
6BUGTRACKER = "http://sourceforge.net/p/mpg123/bugs/"
7SECTION = "multimedia"
8
9LICENSE = "LGPL-2.1-only"
10LIC_FILES_CHKSUM = "file://COPYING;md5=e7b9c15fcfb986abb4cc5e8400a24169"
11
12SRC_URI = "https://www.mpg123.de/download/${BP}.tar.bz2"
Patrick Williams8e7b46e2023-05-01 14:19:06 -050013SRC_URI[sha256sum] = "1ca77d3a69a5ff845b7a0536f783fee554e1041139a6b978f6afe14f5814ad1a"
Patrick Williams92b42cb2022-09-03 06:53:57 -050014
15UPSTREAM_CHECK_REGEX = "mpg123-(?P<pver>\d+(\.\d+)+)\.tar"
16
17inherit autotools pkgconfig
18
19# The options should be mutually exclusive for configuration script.
20# If both alsa and pulseaudio are specified (as in the default distro features)
21# pulseaudio takes precedence.
22PACKAGECONFIG_ALSA = "${@bb.utils.filter('DISTRO_FEATURES', 'alsa', d)}"
23PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '${PACKAGECONFIG_ALSA}', d)}"
24
25PACKAGECONFIG[alsa] = "--with-default-audio=alsa,,alsa-lib"
26PACKAGECONFIG[esd] = ",,esound"
27PACKAGECONFIG[jack] = ",,jack"
28PACKAGECONFIG[openal] = ",,openal-soft"
29PACKAGECONFIG[portaudio] = ",,portaudio-v19"
30PACKAGECONFIG[pulseaudio] = "--with-default-audio=pulse,,pulseaudio"
31PACKAGECONFIG[sdl] = ",,libsdl2"
32
33# Following are possible sound output modules:
34# alsa arts coreaudio dummy esd jack nas openal os2 oss portaudio pulse sdl sndio sun tinyalsa win32 win32_wasapi
35AUDIOMODS += "${@bb.utils.filter('PACKAGECONFIG', 'alsa esd jack openal portaudio sdl', d)}"
36AUDIOMODS += "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', 'pulse', '', d)}"
37
Andrew Geissler028142b2023-05-05 11:29:21 -050038CACHED_CONFIGUREVARS:libc-musl = "ac_cv_sys_file_offset_bits=no"
39
Patrick Williams92b42cb2022-09-03 06:53:57 -050040EXTRA_OECONF = " \
41 --enable-shared \
Andrew Geissler517393d2023-01-13 08:55:19 -060042 --enable-largefile \
43 --disable-lfs-alias \
Patrick Williams92b42cb2022-09-03 06:53:57 -050044 --with-audio='${AUDIOMODS}' \
45 ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-cpu=neon', '', d)} \
46 ${@bb.utils.contains('TUNE_FEATURES', 'altivec', '--with-cpu=altivec', '', d)} \
47 ${@bb.utils.contains('TARGET_FPU', 'soft', '--with-cpu=generic_nofpu', '', d)} \
48"
49# Fails to build with thumb-1 (qemuarm)
50#| {standard input}: Assembler messages:
51#| {standard input}:47: Error: selected processor does not support Thumb mode `smull r5,r6,r7,r4'
52#| {standard input}:48: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r5,r5,lsr#24'
53#...
54#| make[3]: *** [equalizer.lo] Error 1
55ARM_INSTRUCTION_SET:armv4 = "arm"
56ARM_INSTRUCTION_SET:armv5 = "arm"