mp3fs: 0.91 -> 1.1.1

https://github.com/khenriks/mp3fs/releases/tag/v1.1.1
Also update the long description to match the GitHub README.
This commit is contained in:
Luflosi 2021-12-15 01:51:17 +01:00
parent b650f134be
commit 5041f6f672
No known key found for this signature in database
GPG key ID: 4E41E29EDCC345D0
2 changed files with 29 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 { stdenv.mkDerivation rec {
pname = "mp3fs"; pname = "mp3fs";
version = "0.91"; version = "1.1.1";
src = fetchurl { src = fetchFromGitHub {
url = "https://github.com/khenriks/mp3fs/releases/download/v${version}/${pname}-${version}.tar.gz"; owner = "khenriks";
sha256 = "14ngiqg24p3a0s6hp33zjl4i46d8qn4v9id36psycq3n3csmwyx4"; 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 ]; buildInputs = [ flac fuse lame libid3tag libvorbis ];
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ autoreconfHook pkg-config pandoc ];
enableParallelBuilding = true; enableParallelBuilding = true;
@ -20,10 +37,10 @@ stdenv.mkDerivation rec {
description = "FUSE file system that transparently transcodes to MP3"; description = "FUSE file system that transparently transcodes to MP3";
longDescription = '' longDescription = ''
A read-only FUSE filesystem which transcodes between audio formats A read-only FUSE filesystem which transcodes between audio formats
(currently only FLAC to MP3) on the fly when files are opened and read. (currently FLAC and Ogg Vorbis to MP3) on the fly when opened and read.
It can let you use a FLAC collection with software and/or hardware This can let you use a FLAC or Ogg Vorbis collection with software
which only understands the MP3 format, or transcode files through and/or hardware which only understands the MP3 format, or transcode
simple drag-and-drop in a file browser. files through simple drag-and-drop in a file browser.
''; '';
homepage = "https://khenriks.github.io/mp3fs/"; homepage = "https://khenriks.github.io/mp3fs/";
license = licenses.gpl3Plus; license = licenses.gpl3Plus;

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;