1{ lib
2, stdenv
3, fetchFromGitHub
4, flac
5, fuse
6, lame
7, libid3tag
8, libvorbis
9, autoreconfHook
10, pkg-config
11, pandoc
12}:
13
14stdenv.mkDerivation rec {
15 pname = "mp3fs";
16 version = "1.1.1";
17
18 src = fetchFromGitHub {
19 owner = "khenriks";
20 repo = "mp3fs";
21 rev = "v${version}";
22 sha256 = "sha256-dF+DfkNKvYOucS6KjYR1MMGxayM+1HVS8mbmaavmgKM=";
23 };
24
25 postPatch = ''
26 substituteInPlace src/mp3fs.cc \
27 --replace "#include <fuse_darwin.h>" "" \
28 --replace "osxfuse_version()" "fuse_version()"
29 '';
30
31 buildInputs = [ flac fuse lame libid3tag libvorbis ];
32 nativeBuildInputs = [ autoreconfHook pkg-config pandoc ];
33
34 enableParallelBuilding = true;
35
36 meta = with lib; {
37 description = "FUSE file system that transparently transcodes to MP3";
38 longDescription = ''
39 A read-only FUSE filesystem which transcodes between audio formats
40 (currently FLAC and Ogg Vorbis to MP3) on the fly when opened and read.
41 This can let you use a FLAC or Ogg Vorbis collection with software
42 and/or hardware which only understands the MP3 format, or transcode
43 files through simple drag-and-drop in a file browser.
44 '';
45 homepage = "https://khenriks.github.io/mp3fs/";
46 license = licenses.gpl3Plus;
47 platforms = platforms.unix;
48 maintainers = with maintainers; [ Luflosi ];
49 };
50}