Merge pull request #150793 from Luflosi/update/mp3fs
mp3fs: 0.91 -> 1.1.1
This commit is contained in:
commit
6c2318e451
@ -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 <fuse_darwin.h>" "" \
|
||||
--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 ];
|
||||
};
|
||||
}
|
||||
|
@ -1,39 +0,0 @@
|
||||
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 New Issue
Block a user