nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
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 libsForQt5,
21}:
22
23stdenv.mkDerivation (finalAttrs: {
24 pname = "flacon";
25 version = "12.0.0";
26
27 src = fetchFromGitHub {
28 owner = "flacon";
29 repo = "flacon";
30 tag = "v${finalAttrs.version}";
31 hash = "sha256-r9SdQg6JTMoGxO2xUtkkBe5F5cajnsndZEq20BjJGuU=";
32 };
33
34 nativeBuildInputs = [
35 cmake
36 pkg-config
37 libsForQt5.wrapQtAppsHook
38 ];
39 buildInputs = [
40 libsForQt5.qtbase
41 libsForQt5.qttools
42 libuchardet
43 taglib
44 ];
45
46 bin_path = lib.makeBinPath [
47 shntool
48 flac
49 opusTools
50 vorbis-tools
51 mp3gain
52 lame
53 wavpack
54 monkeysAudio
55 vorbisgain
56 sox
57 ];
58
59 postInstall = ''
60 wrapProgram $out/bin/flacon \
61 --suffix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}" \
62 --prefix PATH : "$bin_path";
63 '';
64
65 meta = {
66 description = "Extracts audio tracks from an audio CD image to separate tracks";
67 mainProgram = "flacon";
68 homepage = "https://flacon.github.io/";
69 license = lib.licenses.lgpl21;
70 platforms = lib.platforms.linux;
71 maintainers = with lib.maintainers; [ snglth ];
72 };
73})