cantata: ffmpeg_3 -> ffmpeg

This commit is contained in:
Peter Hoeg 2021-04-27 18:05:48 +08:00
parent f3c7752358
commit a37f7215b2

View File

@ -1,22 +1,42 @@
{ mkDerivation, lib, fetchFromGitHub, cmake, pkg-config { mkDerivation
, qtbase, qtsvg, qttools, perl , lib
, fetchFromGitHub
, cmake
, pkg-config
, qtbase
, qtsvg
, qttools
, perl
# Cantata doesn't build with cdparanoia enabled so we disable that # Cantata doesn't build with cdparanoia enabled so we disable that
# default for now until I (or someone else) figure it out. # default for now until I (or someone else) figure it out.
, withCdda ? false, cdparanoia , withCdda ? false
, withCddb ? false, libcddb , cdparanoia
, withLame ? false, lame , withCddb ? false
, withMusicbrainz ? false, libmusicbrainz5 , libcddb
, withLame ? false
, lame
, withMusicbrainz ? false
, libmusicbrainz5
, withTaglib ? true, taglib, taglib_extras , withTaglib ? true
, withHttpStream ? true, qtmultimedia , taglib
, withReplaygain ? true, ffmpeg_3, speex, mpg123 , taglib_extras
, withMtp ? true, libmtp , withHttpStream ? true
, qtmultimedia
, withReplaygain ? true
, ffmpeg
, speex
, mpg123
, withMtp ? true
, libmtp
, withOnlineServices ? true , withOnlineServices ? true
, withDevices ? true, udisks2 , withDevices ? true
, udisks2
, withDynamic ? true , withDynamic ? true
, withHttpServer ? true , withHttpServer ? true
, withLibVlc ? false, libvlc , withLibVlc ? false
, libvlc
, withStreams ? true , withStreams ? true
}: }:
@ -31,22 +51,25 @@ assert withReplaygain -> withTaglib;
assert withLibVlc -> withHttpStream; assert withLibVlc -> withHttpStream;
let let
version = "2.4.2"; fstat = x: fn:
pname = "cantata"; "-DENABLE_${fn}=${if x then "ON" else "OFF"}";
fstat = x: fn: "-DENABLE_" + fn + "=" + (if x then "ON" else "OFF");
fstats = x: map (fstat x); fstats = x:
map (fstat x);
withUdisks = (withTaglib && withDevices); withUdisks = (withTaglib && withDevices);
perl' = perl.withPackages (ppkgs: [ ppkgs.URI ]); perl' = perl.withPackages (ppkgs: with ppkgs; [ URI ]);
in mkDerivation { in
name = "${pname}-${version}"; mkDerivation rec {
pname = "cantata";
version = "2.4.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "CDrummond"; owner = "CDrummond";
repo = "cantata"; repo = "cantata";
rev = "v${version}"; rev = "v${version}";
sha256 = "15qfx9bpfdplxxs08inwf2j8kvf7g5cln5sv1wj1l2l41vbf1mjr"; sha256 = "15qfx9bpfdplxxs08inwf2j8kvf7g5cln5sv1wj1l2l41vbf1mjr";
}; };
@ -63,44 +86,44 @@ in mkDerivation {
buildInputs = [ qtbase qtsvg perl' ] buildInputs = [ qtbase qtsvg perl' ]
++ lib.optionals withTaglib [ taglib taglib_extras ] ++ lib.optionals withTaglib [ taglib taglib_extras ]
++ lib.optionals withReplaygain [ ffmpeg_3 speex mpg123 ] ++ lib.optionals withReplaygain [ ffmpeg speex mpg123 ]
++ lib.optional withHttpStream qtmultimedia ++ lib.optional withHttpStream qtmultimedia
++ lib.optional withCdda cdparanoia ++ lib.optional withCdda cdparanoia
++ lib.optional withCddb libcddb ++ lib.optional withCddb libcddb
++ lib.optional withLame lame ++ lib.optional withLame lame
++ lib.optional withMtp libmtp ++ lib.optional withMtp libmtp
++ lib.optional withMusicbrainz libmusicbrainz5 ++ lib.optional withMusicbrainz libmusicbrainz5
++ lib.optional withUdisks udisks2 ++ lib.optional withUdisks udisks2
++ lib.optional withLibVlc libvlc; ++ lib.optional withLibVlc libvlc;
nativeBuildInputs = [ cmake pkg-config qttools ]; nativeBuildInputs = [ cmake pkg-config qttools ];
cmakeFlags = lib.flatten [ cmakeFlags = lib.flatten [
(fstats withTaglib [ "TAGLIB" "TAGLIB_EXTRAS" ]) (fstats withTaglib [ "TAGLIB" "TAGLIB_EXTRAS" ])
(fstats withReplaygain [ "FFMPEG" "MPG123" "SPEEXDSP" ]) (fstats withReplaygain [ "FFMPEG" "MPG123" "SPEEXDSP" ])
(fstat withHttpStream "HTTP_STREAM_PLAYBACK") (fstat withHttpStream "HTTP_STREAM_PLAYBACK")
(fstat withCdda "CDPARANOIA") (fstat withCdda "CDPARANOIA")
(fstat withCddb "CDDB") (fstat withCddb "CDDB")
(fstat withLame "LAME") (fstat withLame "LAME")
(fstat withMtp "MTP") (fstat withMtp "MTP")
(fstat withMusicbrainz "MUSICBRAINZ") (fstat withMusicbrainz "MUSICBRAINZ")
(fstat withOnlineServices "ONLINE_SERVICES") (fstat withOnlineServices "ONLINE_SERVICES")
(fstat withDynamic "DYNAMIC") (fstat withDynamic "DYNAMIC")
(fstat withDevices "DEVICES_SUPPORT") (fstat withDevices "DEVICES_SUPPORT")
(fstat withHttpServer "HTTP_SERVER") (fstat withHttpServer "HTTP_SERVER")
(fstat withLibVlc "LIBVLC") (fstat withLibVlc "LIBVLC")
(fstat withStreams "STREAMS") (fstat withStreams "STREAMS")
(fstat withUdisks "UDISKS2") (fstat withUdisks "UDISKS2")
"-DENABLE_HTTPS_SUPPORT=ON" "-DENABLE_HTTPS_SUPPORT=ON"
]; ];
meta = with lib; { meta = with lib; {
homepage = "https://github.com/cdrummond/cantata";
description = "A graphical client for MPD"; description = "A graphical client for MPD";
license = licenses.gpl3; homepage = "https://github.com/cdrummond/cantata";
license = licenses.gpl3Only;
maintainers = with maintainers; [ peterhoeg ]; maintainers = with maintainers; [ peterhoeg ];
# Technically Cantata can run on Windows so if someone wants to # Technically, Cantata should run on Darwin/Windows so if someone wants to
# bother figuring that one out, be my guest. # bother figuring that one out, be my guest.
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }