cantata: ffmpeg_3 -> ffmpeg

This commit is contained in:
Peter Hoeg 2021-04-27 18:05:48 +08:00
parent f3c7752358
commit a37f7215b2
1 changed files with 74 additions and 51 deletions

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,17 +51,20 @@ 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";
@ -63,7 +86,7 @@ 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
@ -95,11 +118,11 @@ in mkDerivation {
]; ];
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;
}; };