guix_mirror_bot pushed a commit to branch audio-team
in repository guix.
commit 2259b95a6978905578a7588fbcb7ba2f7a688387
Author: SilverlightningY <[email protected]>
AuthorDate: Sun Apr 26 19:34:43 2026 +0200
gnu: mpg123: Split into libs and binary packages.
* gnu/packages/mp3.scm (libmpg123, libout123, libsyn123): New variables.
* gnu/packages/mp3.scm (mpg123): Split libraries from main package. Use
them
as inputs.
[arguments]: Link the pre-built libraries.
[inputs]: Add mpg123 libraries.
[synopsis, description]: Remove references to mpg123 libraries.
Change-Id: Ia0ca2b6f7233f56b7d132518c9ad6b36d4259505
Signed-off-by: Gabriel Wicki <[email protected]>
---
gnu/packages/mp3.scm | 72 ++++++++++++++++++++++++++++++++++++++++++++++++----
1 file changed, 67 insertions(+), 5 deletions(-)
diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm
index f29b54f16e..3ff5bb792d 100644
--- a/gnu/packages/mp3.scm
+++ b/gnu/packages/mp3.scm
@@ -451,17 +451,79 @@ This package contains the binary.")
(base32 "1pfnz4wsgwwraj65ns2nn9dyw0p4vdm5lswc7hwcmwxgl26vqzhd"))))
(build-system gnu-build-system)
(arguments
- '(#:configure-flags '("--with-default-audio=pulse")))
+ (list
+ #:configure-flags
+ #~(list "--disable-components" "--enable-programs"
+ "--with-default-audio=pulse" "CFLAGS=-lmpg123 -lout123
-lsyn123")))
(native-inputs (list pkg-config))
- (inputs (list alsa-lib pulseaudio))
+ (inputs (list libmpg123 libout123 libsyn123))
(home-page "https://www.mpg123.org/")
- (synopsis "Console MP3 player and decoder library")
+ (synopsis "Console audio player")
(description
"Mpg123 is a real time MPEG 1.0/2.0/2.5 audio player/decoder for layers
-1,2 and 3 (MPEG 1.0 layer 3 aka MP3 most commonly tested). It comes with a
-command-line tool as well as a C library, libmpg123.")
+1,2 and 3 (MPEG 1.0 layer 3 aka MP3 most commonly tested).")
(license license:lgpl2.1)))
+(define-public libmpg123
+ (package
+ (inherit mpg123)
+ (name "libmpg123")
+ (arguments
+ (list
+ #:configure-flags
+ #~(list "--disable-components" "--enable-libmpg123")))
+ (inputs '())
+ (synopsis "Decoder library")
+ (description
+ "Libmpg123 is a MPEG 1.0/2.0/2.5 audio decoder library for layers 1, 2
+and 3 (MPEG 1.0 layer 3 aka MP3 most commonly tested).")))
+
+(define-public libout123
+ (package
+ (inherit mpg123)
+ (name "libout123")
+ (arguments
+ (list
+ #:configure-flags
+ #~(list "--disable-components" "--enable-libout123"
+ "--enable-libout123-modules")))
+ (inputs (list alsa-lib pulseaudio))
+ (synopsis "Audio playback abstraction")
+ (description
+ "Libout123 is focused on continuous playback of audio streams
+via various platform-specific output methods. It glosses over details of the
+native APIs to give an interface close to simply writing data to a file. The
+focus of the library is to ease the use case of just getting raw audio data out
+there, without interruptions.")))
+
+(define-public libsyn123
+ (package
+ (inherit mpg123)
+ (name "libsyn123")
+ (arguments
+ (list
+ #:configure-flags
+ #~(list "--disable-components" "--enable-libsyn123")))
+ (inputs '())
+ (synopsis "Audio signal generation")
+ (description
+ "Libsyn123 provides functionality to generate synthetic audio signal
+data. It serves to verify the decoding of libmpg123 in automated testing.
+Libsyn123 offers:
+
+@itemize
+@item
+signal generation (mix of differing wave shapes, noise, a simulated Geiger
+counter)
+@item
+format conversion and channel mixing and amplification, with hard and soft
+clipping, also optional dithering
+@item
+near-zero-latency good-enough quite-fast resampling
+@item
+applying digital filters with user-provided coefficients
+@end itemize")))
+
(define-public mpg321
(package
(name "mpg321")