From 7ce9c2203d5552b1aa7d56930eb85af06447e3d4 Mon Sep 17 00:00:00 2001 From: Rob <86313040+robert-manchester@users.noreply.github.com> Date: Sun, 5 Nov 2023 23:40:58 -0800 Subject: [PATCH] python311Packages.gphoto2: fix setuptools.__version__ build breakage setuptools.__version__ = '68.2.2.post0' setup.py fails with a parse error when trying to convert 'post0' to an int. patch the code so it only will convert the first to values returned by split('.') --- .../python-modules/gphoto2/default.nix | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/gphoto2/default.nix b/pkgs/development/python-modules/gphoto2/default.nix index a9c49b57063d..9d5f406429f4 100644 --- a/pkgs/development/python-modules/gphoto2/default.nix +++ b/pkgs/development/python-modules/gphoto2/default.nix @@ -1,22 +1,35 @@ -{ lib, fetchPypi, buildPythonPackage +{ lib, fetchPypi, fetchpatch, buildPythonPackage , pkg-config -, libgphoto2 }: +, libgphoto2 +, setuptools +, toml +}: buildPythonPackage rec { pname = "gphoto2"; version = "2.5.0"; + pyproject = true; src = fetchPypi { inherit pname version; hash = "sha256-l9B6PEIGf8rkUlYApOytW2s9OhgcxMHVlDgfQR5ZnoA="; }; - nativeBuildInputs = [ pkg-config ]; + # only convert first 2 values from setuptools_version to ints to avoid + # parse errors if last value is a string. + patches = fetchpatch { + url = "https://github.com/jim-easterbrook/python-gphoto2/commit/d388971b63fea831eb986d2212d4828c6c553235.patch"; + hash = "sha256-EXtXlhBx2jCKtMl7HmN87liqiHVAFSeXr11y830AlpY="; + }; + + nativeBuildInputs = [ pkg-config setuptools toml ]; buildInputs = [ libgphoto2 ]; doCheck = false; # No tests available + pythonImportsCheck = [ "gphoto2" ]; + meta = with lib; { description = "Python interface to libgphoto2"; homepage = "https://github.com/jim-easterbrook/python-gphoto2";