timidity: add enableVorbis option
TiMidity++ can not only play sounds, but also can save the generated waveforms as various audio file formats. The current package only supports Linux and Darwin outputs to play sound, but it does not support saving sounds as eg. vorbis. This commit adds an optional flag `enableVorbis` to the package, disabled by default. This does not change the semantics of the current package but it allows users that need such support to curate their own set of packages with a `callPackage timidity { enableVorbis = true; }`.
This commit is contained in:
parent
c0915172d9
commit
7d96814b29
@ -9,6 +9,9 @@
|
||||
, ncurses
|
||||
, alsa-lib
|
||||
, buildPackages
|
||||
|
||||
## Additional optional output modes
|
||||
, enableVorbis ? false, libvorbis
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -29,6 +32,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
nativeBuildInputs = [ pkg-config ]
|
||||
++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ memstreamHook ];
|
||||
|
||||
buildInputs = [
|
||||
libjack2
|
||||
ncurses
|
||||
@ -37,19 +41,31 @@ stdenv.mkDerivation rec {
|
||||
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
CoreAudio
|
||||
libobjc
|
||||
] ++ lib.optionals enableVorbis [
|
||||
libvorbis
|
||||
];
|
||||
|
||||
enabledOutputModes = [
|
||||
"jack"
|
||||
] ++ lib.optionals stdenv.hostPlatform.isLinux [
|
||||
"oss"
|
||||
"alsa"
|
||||
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
"darwin"
|
||||
] ++ lib.optionals enableVorbis [
|
||||
"vorbis"
|
||||
];
|
||||
|
||||
configureFlags = [
|
||||
"--enable-ncurses"
|
||||
("--enable-audio=" + builtins.concatStringsSep "," enabledOutputModes)
|
||||
"lib_cv_va_copy=yes"
|
||||
"lib_cv___va_copy=yes"
|
||||
] ++ lib.optionals stdenv.hostPlatform.isLinux [
|
||||
"--enable-audio=oss,alsa,jack"
|
||||
"--enable-alsaseq"
|
||||
"--with-default-output=alsa"
|
||||
"lib_cv_va_val_copy=yes"
|
||||
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
"--enable-audio=darwin,jack"
|
||||
"lib_cv_va_val_copy=no"
|
||||
"timidity_cv_ccoption_rdynamic=yes"
|
||||
# These configure tests fail because of incompatible function pointer conversions.
|
||||
|
Loading…
Reference in New Issue
Block a user