mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-16 14:54:29 +01:00
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.
This commit is contained in:
parent
cc5f5f0fd3
commit
5bc5c6896e
2 changed files with 42 additions and 1 deletions
|
@ -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 ];
|
||||
|
|
39
pkgs/tools/filesystems/mp3fs/fix-statfs-operation.patch
Normal file
39
pkgs/tools/filesystems/mp3fs/fix-statfs-operation.patch
Normal file
|
@ -0,0 +1,39 @@
|
|||
From fea072084ff9d7c4d2c688059a2462bb0e59a2ec Mon Sep 17 00:00:00 2001
|
||||
From: K Henriksson <kthenriksson@gmail.com>
|
||||
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;
|
Loading…
Reference in a new issue