diff --git a/pkgs/tools/filesystems/mp3fs/default.nix b/pkgs/tools/filesystems/mp3fs/default.nix index 1b80adc843a6..6f872500e6b1 100644 --- a/pkgs/tools/filesystems/mp3fs/default.nix +++ b/pkgs/tools/filesystems/mp3fs/default.nix @@ -1,18 +1,35 @@ -{ lib, stdenv, fetchurl, flac, fuse, lame, libid3tag, pkg-config }: +{ lib +, stdenv +, fetchFromGitHub +, flac +, fuse +, lame +, libid3tag +, libvorbis +, autoreconfHook +, pkg-config +, pandoc +}: stdenv.mkDerivation rec { pname = "mp3fs"; - version = "0.91"; + version = "1.1.1"; - src = fetchurl { - url = "https://github.com/khenriks/mp3fs/releases/download/v${version}/${pname}-${version}.tar.gz"; - sha256 = "14ngiqg24p3a0s6hp33zjl4i46d8qn4v9id36psycq3n3csmwyx4"; + src = fetchFromGitHub { + owner = "khenriks"; + repo = "mp3fs"; + rev = "v${version}"; + sha256 = "sha256-dF+DfkNKvYOucS6KjYR1MMGxayM+1HVS8mbmaavmgKM="; }; - patches = [ ./fix-statfs-operation.patch ]; + postPatch = '' + substituteInPlace src/mp3fs.cc \ + --replace "#include " "" \ + --replace "osxfuse_version()" "fuse_version()" + ''; - buildInputs = [ flac fuse lame libid3tag ]; - nativeBuildInputs = [ pkg-config ]; + buildInputs = [ flac fuse lame libid3tag libvorbis ]; + nativeBuildInputs = [ autoreconfHook pkg-config pandoc ]; enableParallelBuilding = true; @@ -20,13 +37,14 @@ stdenv.mkDerivation rec { description = "FUSE file system that transparently transcodes to MP3"; longDescription = '' A read-only FUSE filesystem which transcodes between audio formats - (currently only FLAC to MP3) on the fly when files are opened and read. - It can let you use a FLAC collection with software and/or hardware - which only understands the MP3 format, or transcode files through - simple drag-and-drop in a file browser. + (currently FLAC and Ogg Vorbis to MP3) on the fly when opened and read. + This can let you use a FLAC or Ogg Vorbis collection with software + and/or hardware which only understands the MP3 format, or transcode + files through simple drag-and-drop in a file browser. ''; homepage = "https://khenriks.github.io/mp3fs/"; license = licenses.gpl3Plus; platforms = platforms.unix; + maintainers = with maintainers; [ Luflosi ]; }; } diff --git a/pkgs/tools/filesystems/mp3fs/fix-statfs-operation.patch b/pkgs/tools/filesystems/mp3fs/fix-statfs-operation.patch deleted file mode 100644 index 9b3094e60053..000000000000 --- a/pkgs/tools/filesystems/mp3fs/fix-statfs-operation.patch +++ /dev/null @@ -1,39 +0,0 @@ -From fea072084ff9d7c4d2c688059a2462bb0e59a2ec Mon Sep 17 00:00:00 2001 -From: K Henriksson -Date: Wed, 27 Aug 2014 21:55:18 -0700 -Subject: [PATCH] Fix statfs operation - -The statfs implementation does not properly translate names back to the -original, since the major encoding rewrite. This corrects that, and -should fix issue #27. ---- - src/fuseops.c | 15 +++++++++++++-- - 1 file changed, 13 insertions(+), 2 deletions(-) - -diff --git a/src/fuseops.c b/src/fuseops.c -index e7b4e7e..c333cbd 100644 ---- a/src/fuseops.c -+++ b/src/fuseops.c -@@ -337,9 +337,20 @@ static int mp3fs_statfs(const char *path, struct statvfs *stbuf) { - if (!origpath) { - goto translate_fail; - } -- -+ -+ /* pass-through for regular files */ -+ if (statvfs(origpath, stbuf) == 0) { -+ goto passthrough; -+ } else { -+ /* Not really an error. */ -+ errno = 0; -+ } -+ -+ find_original(origpath); -+ - statvfs(origpath, stbuf); -- -+ -+passthrough: - free(origpath); - translate_fail: - return -errno;