diff --git a/pkgs/development/python-modules/mfusepy/default.nix b/pkgs/development/python-modules/mfusepy/default.nix new file mode 100644 index 000000000000..668ec2506ec3 --- /dev/null +++ b/pkgs/development/python-modules/mfusepy/default.nix @@ -0,0 +1,42 @@ +{ + lib, + stdenv, + buildPythonPackage, + fetchFromGitHub, + setuptools, + fuse3, +}: + +let + version = "3.0.0"; +in +buildPythonPackage { + pname = "mfusepy"; + inherit version; + pyproject = true; + + src = fetchFromGitHub { + owner = "mxmlnkn"; + repo = "mfusepy"; + tag = "v${version}"; + hash = "sha256-a0F8zcPfKwkYgbXMrLZZ3+kkMfn+ohqoBFa98yNr8uE="; + }; + + # If fuse library path cannot be found, use fuse library path in nixpkgs + postPatch = lib.optionalString stdenv.hostPlatform.isLinux '' + substituteInPlace mfusepy.py \ + --replace-fail "_libfuse_path = find_library('fuse3')" '_libfuse_path = "${lib.getLib fuse3}/lib/libfuse3.so.4"' + ''; + + build-system = [ setuptools ]; + + # https://github.com/NixOS/nixpkgs/blob/1e1947e8b7962c914b725e8b821e311229e632ae/doc/packages/fuse.section.md?plain=1#L10 + pythonImportsCheck = lib.optionals stdenv.hostPlatform.isLinux [ "mfusepy" ]; + + meta = { + description = "Ctypes bindings for the high-level API in libfuse 2 and 3"; + homepage = "https://github.com/mxmlnkn/mfusepy"; + license = lib.licenses.isc; + maintainers = with lib.maintainers; [ kyehn ]; + }; +} diff --git a/pkgs/development/python-modules/ratarmount/default.nix b/pkgs/development/python-modules/ratarmount/default.nix index cb4d43ba8153..a49c146a0bf4 100644 --- a/pkgs/development/python-modules/ratarmount/default.nix +++ b/pkgs/development/python-modules/ratarmount/default.nix @@ -2,10 +2,10 @@ lib, buildPythonPackage, fetchPypi, - fusepy, indexed-gzip, indexed-zstd, libarchive-c, + mfusepy, python-xz, pythonOlder, rapidgzip, @@ -16,14 +16,14 @@ buildPythonPackage rec { pname = "ratarmount"; - version = "1.1.2"; + version = "1.2.1"; pyproject = true; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - hash = "sha256-XiwtmZ7HGZwjJJrUD3TOP3o19RBwB/Yu09xdwK13+hk="; + hash = "sha256-KL4vG5R3uk0NjXXdvCRo/JBpcNNvSUC9ky0aUYGOBqA="; }; pythonRelaxDeps = [ "python-xz" ]; @@ -31,10 +31,10 @@ buildPythonPackage rec { build-system = [ setuptools ]; dependencies = [ - fusepy indexed-gzip indexed-zstd libarchive-c + mfusepy python-xz rapidgzip rarfile diff --git a/pkgs/development/python-modules/ratarmountcore/default.nix b/pkgs/development/python-modules/ratarmountcore/default.nix index 9371d816b4da..1b89f9f8c875 100644 --- a/pkgs/development/python-modules/ratarmountcore/default.nix +++ b/pkgs/development/python-modules/ratarmountcore/default.nix @@ -19,7 +19,7 @@ buildPythonPackage rec { pname = "ratarmountcore"; - version = "1.1.2"; + version = "0.10.1"; pyproject = true; disabled = pythonOlder "3.10"; @@ -27,13 +27,19 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "mxmlnkn"; repo = "ratarmount"; - tag = "v${version}"; - hash = "sha256-8DjmYYTb0BR5KvtSeI2s7VtYdbRSI+QCjhZfDwqnk3M="; + tag = "core-v${version}"; + hash = "sha256-7xknOpJIjXMr7Z7JD3Jn3oma63hbEZcj/1zQ6FAp5aA="; fetchSubmodules = true; }; sourceRoot = "${src.name}/core"; + postPatch = '' + substituteInPlace tests/test_AutoMountLayer.py \ + --replace-fail 'f"tests/{name}.tgz.tgz.gz"' 'os.path.join(os.path.dirname(__file__), f"../../tests/{name}.tgz.tgz.gz")' \ + --replace-fail 'copy_test_file("tests/double-compressed-nested-tar.tgz.tgz")' 'copy_test_file(os.path.join(os.path.dirname(__file__), "../../tests/double-compressed-nested-tar.tgz.tgz"))' + ''; + build-system = [ setuptools ]; optional-dependencies = { @@ -85,7 +91,7 @@ buildPythonPackage rec { meta = { description = "Library for accessing archives by way of indexing"; homepage = "https://github.com/mxmlnkn/ratarmount/tree/master/core"; - changelog = "https://github.com/mxmlnkn/ratarmount/blob/core-${src.tag}/core/CHANGELOG.md"; + changelog = "https://github.com/mxmlnkn/ratarmount/blob/${src.rev}/core/CHANGELOG.md"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ mxmlnkn ]; }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index d5b47cbd5970..bf8cf0483ce0 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9532,6 +9532,8 @@ self: super: with self; { mficlient = callPackage ../development/python-modules/mficlient { }; + mfusepy = callPackage ../development/python-modules/mfusepy { }; + mhcflurry = callPackage ../development/python-modules/mhcflurry { }; mhcgnomes = callPackage ../development/python-modules/mhcgnomes { };