1{
2 stdenv,
3 lib,
4 fetchFromGitHub,
5 cmake,
6 libuchardet,
7 pkg-config,
8 shntool,
9 flac,
10 opusTools,
11 vorbis-tools,
12 mp3gain,
13 lame,
14 taglib,
15 wavpack,
16 vorbisgain,
17 monkeysAudio,
18 sox,
19 gtk3,
20 qtbase,
21 qttools,
22 wrapQtAppsHook,
23}:
24
25stdenv.mkDerivation rec {
26 pname = "flacon";
27 version = "12.0.0";
28
29 src = fetchFromGitHub {
30 owner = "flacon";
31 repo = "flacon";
32 rev = "v${version}";
33 sha256 = "sha256-r9SdQg6JTMoGxO2xUtkkBe5F5cajnsndZEq20BjJGuU=";
34 };
35
36 nativeBuildInputs = [
37 cmake
38 pkg-config
39 wrapQtAppsHook
40 ];
41 buildInputs = [
42 qtbase
43 qttools
44 libuchardet
45 taglib
46 ];
47
48 bin_path = lib.makeBinPath [
49 shntool
50 flac
51 opusTools
52 vorbis-tools
53 mp3gain
54 lame
55 wavpack
56 monkeysAudio
57 vorbisgain
58 sox
59 ];
60
61 postInstall = ''
62 wrapProgram $out/bin/flacon \
63 --suffix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}" \
64 --prefix PATH : "$bin_path";
65 '';
66
67 meta = with lib; {
68 description = "Extracts audio tracks from an audio CD image to separate tracks";
69 mainProgram = "flacon";
70 homepage = "https://flacon.github.io/";
71 license = licenses.lgpl21;
72 platforms = platforms.linux;
73 maintainers = with maintainers; [ snglth ];
74 };
75}