about summary refs log tree commit diff
path: root/pkgs/applications/audio/mpg123
diff options
context:
space:
mode:
authorNguyễn Gia Phong <mcsinyx@disroot.org>2023-02-16 02:24:28 +0900
committerSandro Jäckel <sandro.jaeckel@gmail.com>2023-03-20 22:05:04 +0100
commitdd922563afb0370d82e8141dca1e7691c92f96f1 (patch)
tree4251e15efee34b5b58527379989eb14feb1a7cdc /pkgs/applications/audio/mpg123
parentd3840956451bc76c9e81134b2af21844ddac0ef3 (diff)
downloadnixlib-dd922563afb0370d82e8141dca1e7691c92f96f1.tar
nixlib-dd922563afb0370d82e8141dca1e7691c92f96f1.tar.gz
nixlib-dd922563afb0370d82e8141dca1e7691c92f96f1.tar.bz2
nixlib-dd922563afb0370d82e8141dca1e7691c92f96f1.tar.lz
nixlib-dd922563afb0370d82e8141dca1e7691c92f96f1.tar.xz
nixlib-dd922563afb0370d82e8141dca1e7691c92f96f1.tar.zst
nixlib-dd922563afb0370d82e8141dca1e7691c92f96f1.zip
mpg123: add lib-only derivation not depending on sound servers
Diffstat (limited to 'pkgs/applications/audio/mpg123')
-rw-r--r--pkgs/applications/audio/mpg123/default.nix25
1 files changed, 16 insertions, 9 deletions
diff --git a/pkgs/applications/audio/mpg123/default.nix b/pkgs/applications/audio/mpg123/default.nix
index 3eb2cf20ee77..36c8a2409abb 100644
--- a/pkgs/applications/audio/mpg123/default.nix
+++ b/pkgs/applications/audio/mpg123/default.nix
@@ -3,7 +3,7 @@
 , fetchurl
 , makeWrapper
 , pkg-config
-, perl
+, libOnly ? false # whether to build only the library
 , withAlsa ? stdenv.hostPlatform.isLinux
 , alsa-lib
 , withPulse ? stdenv.hostPlatform.isLinux
@@ -14,29 +14,36 @@
 , withJack ? stdenv.hostPlatform.isUnix
 , jack
 , withConplay ? !stdenv.hostPlatform.isWindows
+, perl
 }:
 
+assert withConplay -> !libOnly;
+
 stdenv.mkDerivation rec {
-  pname = "mpg123";
+  pname = "${lib.optionalString libOnly "lib"}mpg123";
   version = "1.31.2";
 
   src = fetchurl {
-    url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2";
+    url = "mirror://sourceforge/mpg123/mpg123-${version}.tar.bz2";
     sha256 = "sha256-sX8ikF4x9DtrQB399qce0Ru30Fb2jbRJ1wufmug5x94=";
   };
 
-  outputs = [ "out" ] ++ lib.optionals withConplay [ "conplay" ];
+  outputs = [ "out" ] ++ lib.optional withConplay "conplay";
 
-  nativeBuildInputs = lib.optionals withConplay [ makeWrapper ]
-    ++ lib.optionals (withPulse || withJack) [ pkg-config ];
+  nativeBuildInputs = lib.optionals (!libOnly) (
+    lib.optionals withConplay [ makeWrapper ]
+    ++ lib.optionals (withPulse || withJack) [ pkg-config ]
+  );
 
-  buildInputs = lib.optionals withConplay [ perl ]
+  buildInputs = lib.optionals (!libOnly) (
+    lib.optionals withConplay [ perl ]
     ++ lib.optionals withAlsa [ alsa-lib ]
     ++ lib.optionals withPulse [ libpulseaudio ]
     ++ lib.optionals withCoreAudio [ AudioUnit AudioToolbox ]
-    ++ lib.optionals withJack [ jack ];
+    ++ lib.optionals withJack [ jack ]
+  );
 
-  configureFlags = [
+  configureFlags = lib.optionals (!libOnly) [
     "--with-audio=${lib.strings.concatStringsSep "," (
       lib.optional withJack "jack"
       ++ lib.optional withPulse "pulse"