Commit 100a740c authored by Walter Huf's avatar Walter Huf
Browse files

audacious: add vgmstream plugin

parent 06fc8753
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@
, qtmultimedia
, qtx11extras
, soxr
, vgmstream
, wavpack
}:

@@ -109,6 +110,10 @@ stdenv.mkDerivation rec {

  dontWrapQtApps = true;

  postInstall = ''
    ln -s ${vgmstream.override { buildAudaciousPlugin = true; }}/lib/audacious/Input/* $out/lib/audacious/Input
  '';

  meta = audacious.meta // {
    description = "Plugins for Audacious music player";
  };
+21 −7
Original line number Diff line number Diff line
{ stdenv, lib, fetchFromGitHub, cmake, pkg-config
, mpg123, ffmpeg, libvorbis, libao, jansson, speex
{ stdenv, lib, fetchFromGitHub, cmake, pkg-config, gtk3
, audacious, mpg123, ffmpeg, libvorbis, libao, jansson, speex
, nix-update-script
, buildAudaciousPlugin ? false  # only build cli by default, pkgs.audacious-plugins sets this to enable plugin support
}:

stdenv.mkDerivation rec {
@@ -19,16 +20,29 @@ stdenv.mkDerivation rec {
    extraArgs = [ "--version-regex" "r(.*)" ];
  };

  nativeBuildInputs = [ cmake pkg-config ];
  nativeBuildInputs = [
    cmake
    pkg-config
  ] ++ lib.optional buildAudaciousPlugin gtk3;

  buildInputs = [ mpg123 ffmpeg libvorbis libao jansson speex ];
  buildInputs = [
    mpg123
    ffmpeg
    libvorbis
    libao
    jansson
    speex
  ] ++ lib.optional buildAudaciousPlugin (audacious.override { audacious-plugins = null; });

  preConfigure = ''
    substituteInPlace cmake/dependencies/audacious.cmake \
      --replace "pkg_get_variable(AUDACIOUS_PLUGIN_DIR audacious plugin_dir)" "set(AUDACIOUS_PLUGIN_DIR \"$out/lib/audacious\")"
  '';

  cmakeFlags = [
    # There's no nice way to build the audacious plugin without a circular dependency
    "-DBUILD_AUDACIOUS=OFF"
    # It always tries to download it, no option to use the system one
    "-DUSE_CELT=OFF"
  ];
  ] ++ lib.optional (! buildAudaciousPlugin) "-DBUILD_AUDACIOUS=OFF";

  meta = with lib; {
    description = "A library for playback of various streamed audio formats used in video games";