Unverified Commit 524f06e3 authored by Adam Stephens's avatar Adam Stephens
Browse files

squeezelite: add darwin support

parent 904f1e32
Loading
Loading
Loading
Loading
+22 −5
Original line number Diff line number Diff line
{ lib
, stdenv
, fetchFromGitHub
, alsa-lib
, flac
, libmad
, libpulseaudio
, libvorbis
, mpg123
, audioBackend ? "alsa"
, audioBackend ? if stdenv.isLinux then "alsa" else "portaudio"
, alsaSupport ? stdenv.isLinux
, alsa-lib
, dsdSupport ? true
, faad2Support ? true
, faad2
@@ -19,10 +20,18 @@
, soxr
, sslSupport ? true
, openssl
, portaudioSupport ? stdenv.isDarwin
, portaudio
, AudioToolbox
, AudioUnit
, Carbon
, CoreAudio
, CoreVideo
, VideoDecodeAcceleration
}:

let
  inherit (lib) optional optionalString;
  inherit (lib) optional optionals optionalString;

  pulseSupport = audioBackend == "pulse";

@@ -44,7 +53,10 @@ stdenv.mkDerivation {
  };

  buildInputs = [ flac libmad libvorbis mpg123 ]
    ++ lib.singleton (if pulseSupport then libpulseaudio else alsa-lib)
    ++ optional pulseSupport libpulseaudio
    ++ optional alsaSupport alsa-lib
    ++ optional portaudioSupport portaudio
    ++ optionals stdenv.isDarwin [ CoreVideo VideoDecodeAcceleration CoreAudio AudioToolbox AudioUnit Carbon ]
    ++ optional faad2Support faad2
    ++ optional ffmpegSupport ffmpeg
    ++ optional opusSupport opusfile
@@ -65,10 +77,15 @@ stdenv.mkDerivation {
    ++ optional (!faad2Support) "-DNO_FAAD"
    ++ optional ffmpegSupport "-DFFMPEG"
    ++ optional opusSupport "-DOPUS"
    ++ optional portaudioSupport "-DPORTAUDIO"
    ++ optional pulseSupport "-DPULSEAUDIO"
    ++ optional resampleSupport "-DRESAMPLE"
    ++ optional sslSupport "-DUSE_SSL";

  LDADD = if stdenv.isLinux
          then null
          else "-lportaudio -lpthread -ldl -lm -framework CoreVideo -framework VideoDecodeAcceleration -framework CoreAudio -framework AudioToolbox -framework AudioUnit -framework Carbon";

  installPhase = ''
    runHook preInstall

@@ -85,6 +102,6 @@ stdenv.mkDerivation {
    homepage = "https://github.com/ralph-irving/squeezelite";
    license = with licenses; [ gpl3Plus ] ++ optional dsdSupport bsd2;
    maintainers = with maintainers; [ adamcstephens ];
    platforms = platforms.linux;
    platforms = if (audioBackend == "pulse") then platforms.linux else platforms.linux ++ platforms.darwin;
  };
}
+8 −2
Original line number Diff line number Diff line
@@ -34148,9 +34148,15 @@ with pkgs;
  psst = callPackage ../applications/audio/psst { };
  squeezelite = callPackage ../applications/audio/squeezelite { audioBackend = "alsa"; };
  squeezelite = darwin.apple_sdk_11_0.callPackage ../applications/audio/squeezelite {
    inherit (darwin.apple_sdk_11_0.frameworks) CoreVideo VideoDecodeAcceleration CoreAudio AudioToolbox AudioUnit Carbon;
  };
  squeezelite-pulse = darwin.apple_sdk_11_0.callPackage ../applications/audio/squeezelite {
    inherit (darwin.apple_sdk_11_0.frameworks) CoreVideo VideoDecodeAcceleration CoreAudio AudioToolbox AudioUnit Carbon;
  squeezelite-pulse = callPackage ../applications/audio/squeezelite { audioBackend = "pulse"; };
    audioBackend = "pulse";
  };
  ltunify = callPackage ../tools/misc/ltunify { };