From 5bc5c6896efeb3a003e4330b68e74b001fc40424 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 17 Apr 2015 15:53:33 +0200 Subject: [PATCH] mp3fs: fix interoperation with samba Ship and apply patch manually because building mp3fs from git is hell. Also change meta.homepage to the one mentioned in the README. --- pkgs/tools/filesystems/mp3fs/default.nix | 4 +- .../mp3fs/fix-statfs-operation.patch | 39 +++++++++++++++++++ 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 pkgs/tools/filesystems/mp3fs/fix-statfs-operation.patch diff --git a/pkgs/tools/filesystems/mp3fs/default.nix b/pkgs/tools/filesystems/mp3fs/default.nix index 253f335ae4a8..50242bb63882 100644 --- a/pkgs/tools/filesystems/mp3fs/default.nix +++ b/pkgs/tools/filesystems/mp3fs/default.nix @@ -9,6 +9,8 @@ stdenv.mkDerivation rec { sha256 = "14ngiqg24p3a0s6hp33zjl4i46d8qn4v9id36psycq3n3csmwyx4"; }; + patches = [ ./fix-statfs-operation.patch ]; + buildInputs = [ flac fuse lame libid3tag pkgconfig ]; enableParallelBuilding = true; @@ -22,7 +24,7 @@ stdenv.mkDerivation rec { which only understands the MP3 format, or transcode files through simple drag-and-drop in a file browser. ''; - homepage = http://khenriks.github.com/mp3fs/; + homepage = http://khenriks.github.io/mp3fs/; license = with licenses; gpl3Plus; platforms = with platforms; linux; maintainers = with maintainers; [ nckx ]; diff --git a/pkgs/tools/filesystems/mp3fs/fix-statfs-operation.patch b/pkgs/tools/filesystems/mp3fs/fix-statfs-operation.patch new file mode 100644 index 000000000000..9b3094e60053 --- /dev/null +++ b/pkgs/tools/filesystems/mp3fs/fix-statfs-operation.patch @@ -0,0 +1,39 @@ +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;