aboutsummaryrefslogtreecommitdiff
path: root/pkgs/applications/audio/soundkonverter
diff options
context:
space:
mode:
authorTrolli Schmittlauch <t.schmittlauch+nixos@orlives.de>2019-02-20 20:40:22 +0100
committerTrolli Schmittlauch <t.schmittlauch+nixos@orlives.de>2019-04-14 04:51:44 +0200
commit7218dec1320b16941fae3db3ef6a1e9495c39fba (patch)
tree1652061f957f107193bff72172819ed97c5c353a /pkgs/applications/audio/soundkonverter
parent4979238e80e22998bfcf7ca052f9a05fb43747dc (diff)
[soundkonverter] init at 3.0.1
Diffstat (limited to 'pkgs/applications/audio/soundkonverter')
-rw-r--r--pkgs/applications/audio/soundkonverter/default.nix97
1 files changed, 97 insertions, 0 deletions
diff --git a/pkgs/applications/audio/soundkonverter/default.nix b/pkgs/applications/audio/soundkonverter/default.nix
new file mode 100644
index 00000000000..df5806b50b9
--- /dev/null
+++ b/pkgs/applications/audio/soundkonverter/default.nix
@@ -0,0 +1,97 @@
+# currently needs to be installed into an environment and needs a `kbuildsycoca5` run afterwards for plugin discovery
+{
+ mkDerivation, fetchFromGitHub, lib, makeWrapper,
+ cmake, extra-cmake-modules, pkgconfig,
+ libkcddb, kconfig, kconfigwidgets, ki18n, kdelibs4support, kio, solid, kwidgetsaddons, kxmlgui,
+ qtbase, phonon,
+ taglib,
+ # optional backends
+ withCD ? true, cdparanoia,
+ withFlac ? true, flac,
+ withMidi ? true, fluidsynth, timidity,
+ withSpeex ? false, speex,
+ withVorbis ? true, vorbis-tools, vorbisgain,
+ withMp3 ? true, lame, mp3gain,
+ withAac ? true, faad2, aacgain,
+ withUnfreeAac ? false, faac,
+ withFfmpeg ? true, ffmpeg-full,
+ withMplayer ? false, mplayer,
+ withSox ? true, sox,
+ withOpus ? true, opusTools,
+ withTwolame ? false, twolame,
+ withApe ? false, mac,
+ withWavpack ? false, wavpack
+}:
+
+assert withAac -> withFfmpeg || withUnfreeAac;
+assert withUnfreeAac -> withAac;
+
+let runtimeDeps = []
+ ++ lib.optional withCD cdparanoia
+ ++ lib.optional withFlac flac
+ ++ lib.optional withSpeex speex
+ ++ lib.optional withFfmpeg ffmpeg-full
+ ++ lib.optional withMplayer mplayer
+ ++ lib.optional withSox sox
+ ++ lib.optional withOpus opusTools
+ ++ lib.optional withTwolame twolame
+ ++ lib.optional withApe mac
+ ++ lib.optional withWavpack wavpack
+ ++ lib.optional withUnfreeAac faac
+ ++ lib.optionals withMidi [ fluidsynth timidity ]
+ ++ lib.optionals withVorbis [ vorbis-tools vorbisgain ]
+ ++ lib.optionals withMp3 [ lame mp3gain ]
+ ++ lib.optionals withAac [ faad2 aacgain ];
+
+in
+mkDerivation rec {
+ name = "soundkonverter";
+ version = "3.0.1";
+ src = fetchFromGitHub {
+ owner = "dfaust";
+ repo = "soundkonverter";
+ rev = "v" + version;
+ sha256 = "1g2khdsjmsi4zzynkq8chd11cbdhjzmi37r9jhpal0b730nq9x7l";
+ };
+ enableParallelBuilding = true;
+ nativeBuildInputs = [ cmake extra-cmake-modules pkgconfig kdelibs4support makeWrapper ];
+ propagatedBuildInputs = [ libkcddb kconfig kconfigwidgets ki18n kdelibs4support kio solid kwidgetsaddons kxmlgui qtbase phonon];
+ buildInputs = [ taglib ] ++ runtimeDeps;
+ # encoder plugins go to ${out}/lib so they're found by kbuildsycoca5
+ cmakeFlags = [ "-DCMAKE_INSTALL_PREFIX=$out" ];
+ sourceRoot = "source/src";
+ # add runt-time deps to PATH
+ postInstall = ''
+ wrapProgram $out/bin/soundkonverter --prefix PATH : ${lib.makeBinPath runtimeDeps }
+ '';
+ meta = {
+ license = lib.licenses.gpl2;
+ maintainers = [ lib.maintainers.schmittlauch ];
+ description = "Audio file converter, CD ripper and Replay Gain tool";
+ longDescription = ''
+ soundKonverter is a frontend to various audio converters.
+
+ The key features are:
+ - Audio file conversion
+ - Replay Gain calculation
+ - CD ripping
+
+ soundKonverter supports reading and writing tags and covers for many formats, so they are preserved when converting files.
+
+ It is extendable by plugins and supports many backends including:
+
+ - Audio file conversion
+ Backends: faac, faad, ffmpeg, flac, lame, mplayer, neroaac, timidity, fluidsynth, vorbistools, opustools, sox, twolame,
+ flake, mac, shorten, wavpack and speex
+ Formats: ogg vorbis, mp3, flac, wma, aac, ac3, opus, alac, mp2, als, amr nb, amr wb, ape, speex, m4a, mp1, musepack shorten,
+ tta, wavpack, ra, midi, mod, 3gp, rm, avi, mkv, ogv, mpeg, mov, mp4, flv, wmv and rv
+
+ - Replay Gain calculation
+ Backends: aacgain, metaflac, mp3gain, vorbisgain, wvgain, mpcgain
+ Formats: aac, mp3, flac, ogg vorbis, wavpack, musepack
+
+ - CD ripping
+ Backends: cdparanoia
+ '';
+ };
+}