From a3859b796fea622e4173fa18500842e70b74f2af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Tue, 31 May 2022 01:31:24 +0000 Subject: [PATCH 1/4] python310Packages.pyfuse3: cythonize before building --- .../python-modules/pyfuse3/default.nix | 44 +++++++++++++++---- 1 file changed, 36 insertions(+), 8 deletions(-) diff --git a/pkgs/development/python-modules/pyfuse3/default.nix b/pkgs/development/python-modules/pyfuse3/default.nix index cb10f07f22aa..bdb420313ba2 100644 --- a/pkgs/development/python-modules/pyfuse3/default.nix +++ b/pkgs/development/python-modules/pyfuse3/default.nix @@ -1,22 +1,45 @@ -{ stdenv, lib, buildPythonPackage, fetchPypi, pkg-config, fuse3, trio, pytestCheckHook, pytest-trio, which, pythonAtLeast }: +{ lib +, buildPythonPackage +, pythonOlder +, fetchFromGitHub +, cython +, pkg-config +, fuse3 +, trio +, python +, pytestCheckHook +, pytest-trio +, which +}: buildPythonPackage rec { pname = "pyfuse3"; version = "3.2.1"; - src = fetchPypi { - inherit pname version; - sha256 = "22d146dac59a8429115e9a93317975ea54b35e0278044a94d3fac5b4ad5f7e33"; + disabled = pythonOlder "3.5"; + + format = "setuptools"; + + src = fetchFromGitHub { + owner = "libfuse"; + repo = "pyfuse3"; + rev = "release-${version}"; + hash = "sha256-JGbp2bSI/Rvyys1xMd2o34KlqqBsV6B9LhuuNopayYA="; }; - disabled = pythonAtLeast "3.10"; - - nativeBuildInputs = [ pkg-config ]; + nativeBuildInputs = [ + cython + pkg-config + ]; buildInputs = [ fuse3 ]; propagatedBuildInputs = [ trio ]; + preBuild = '' + ${python.pythonForBuild.interpreter} setup.py build_cython + ''; + checkInputs = [ pytestCheckHook pytest-trio @@ -27,10 +50,15 @@ buildPythonPackage rec { # Checks if a /usr/bin directory exists, can't work on NixOS disabledTests = [ "test_listdir" ]; + pythonImportsCheck = [ + "pyfuse3" + "pyfuse3_asyncio" + ]; + meta = with lib; { description = "Python 3 bindings for libfuse 3 with async I/O support"; homepage = "https://github.com/libfuse/pyfuse3"; license = licenses.lgpl2Plus; - maintainers = with maintainers; [ nyanloutre ]; + maintainers = with maintainers; [ nyanloutre dotlambda ]; }; } From 43337d4f93da9348d744112fa351e110986e3113 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Tue, 31 May 2022 01:26:14 +0000 Subject: [PATCH 2/4] borgbackup: need either pyfuse3 or llfuse The former is preferred according to https://borgbackup.readthedocs.io/en/1.2.0/installation.html#dependencies but only works on Linux since it depends on libfuse3. --- pkgs/tools/backup/borgbackup/default.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pkgs/tools/backup/borgbackup/default.nix b/pkgs/tools/backup/borgbackup/default.nix index 8202786dde84..85fac81795ab 100644 --- a/pkgs/tools/backup/borgbackup/default.nix +++ b/pkgs/tools/backup/borgbackup/default.nix @@ -44,11 +44,9 @@ python3.pkgs.buildPythonApplication rec { propagatedBuildInputs = with python3.pkgs; [ cython - llfuse msgpack packaging - ] ++ lib.optionals (!stdenv.isDarwin) [ - pyfuse3 + (if stdenv.isLinux then pyfuse3 else llfuse) ]; preConfigure = '' From 9b46fd9ba06c2ef388361b000724359799d03c9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Tue, 31 May 2022 02:07:54 +0000 Subject: [PATCH 3/4] borgbackup: cython is only required at build-time --- pkgs/tools/backup/borgbackup/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/backup/borgbackup/default.nix b/pkgs/tools/backup/borgbackup/default.nix index 85fac81795ab..bd04efc92dac 100644 --- a/pkgs/tools/backup/borgbackup/default.nix +++ b/pkgs/tools/backup/borgbackup/default.nix @@ -27,6 +27,7 @@ python3.pkgs.buildPythonApplication rec { ''; nativeBuildInputs = with python3.pkgs; [ + cython setuptools-scm # For building documentation: sphinx @@ -43,7 +44,6 @@ python3.pkgs.buildPythonApplication rec { ]; propagatedBuildInputs = with python3.pkgs; [ - cython msgpack packaging (if stdenv.isLinux then pyfuse3 else llfuse) From f1f2f78340eeb738054dcd955e83065dcdc4d591 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Tue, 31 May 2022 21:06:12 +0000 Subject: [PATCH 4/4] python310Packages.llfuse: 1.4.1 -> 1.4.2 --- pkgs/development/python-modules/llfuse/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/llfuse/default.nix b/pkgs/development/python-modules/llfuse/default.nix index cbf7e84c7203..497e1e279ebe 100644 --- a/pkgs/development/python-modules/llfuse/default.nix +++ b/pkgs/development/python-modules/llfuse/default.nix @@ -14,7 +14,7 @@ buildPythonPackage rec { pname = "llfuse"; - version = "1.4.1"; + version = "1.4.2"; disabled = pythonOlder "3.5"; @@ -22,7 +22,7 @@ buildPythonPackage rec { owner = "python-llfuse"; repo = "python-llfuse"; rev = "release-${version}"; - sha256 = "1dcpdg6cpkmdbyg66fgrylj7dp9zqzg5bf23y6m6673ykgxlv480"; + hash = "sha256-TnZnv439fLvg0WM96yx0dPSSz8Mrae6GDC9LiLFrgQ8="; }; nativeBuildInputs = [ cython pkg-config ];