Merge pull request #150793 from Luflosi/update/mp3fs

mp3fs: 0.91 -> 1.1.1
This commit is contained in:
Thiago Kenji Okada 2021-12-15 20:42:50 -03:00 committed by GitHub
commit 6c2318e451
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 30 additions and 51 deletions

View File

@ -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 ];
};
}

View File

@ -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;