From 5a616273c0055da61a5f7badbc23afd2f8ae19b0 Mon Sep 17 00:00:00 2001 From: annalee <150648636+a-n-n-a-l-e-e@users.noreply.github.com> Date: Sun, 26 Nov 2023 04:06:55 +0000 Subject: [PATCH] python311Packages.pyregion: 2.1.1 -> 2.2.0; fix darwin build https://github.com/astropy/pyregion/blob/2.2.0/CHANGES.rst add -Wno-error=int-conversion for clang to not error out on generated code. (code returns NULL rather than 0). gcc warns but does not error. (cherry picked from commit 83263612a9f10213d50fb248f75d14af7a3a1589) --- .../python-modules/pyregion/default.nix | 64 +++++++++---------- 1 file changed, 30 insertions(+), 34 deletions(-) diff --git a/pkgs/development/python-modules/pyregion/default.nix b/pkgs/development/python-modules/pyregion/default.nix index 30c63528514f2..6f1affd9063ee 100644 --- a/pkgs/development/python-modules/pyregion/default.nix +++ b/pkgs/development/python-modules/pyregion/default.nix @@ -3,64 +3,59 @@ , buildPythonPackage , fetchFromGitHub , fetchpatch -, pyparsing -, numpy +# needed to build , cython +, oldest-supported-numpy +, setuptools +, setuptools-scm +, wheel +# needed to run , astropy -, astropy-helpers +, numpy +, pyparsing +# needed to check , pytestCheckHook , pytest-astropy }: buildPythonPackage rec { pname = "pyregion"; - version = "2.1.1"; + version = "2.2.0"; + pyproject = true; # pypi src contains cython-produced .c files which don't compile # with python3.9 src = fetchFromGitHub { owner = "astropy"; repo = pname; - rev = "v${version}"; - hash = "sha256-xo+XbBJ2HKql9rd7Ma84JofRg8M4u6vmz44Qo8JhEBc="; + rev = version; + hash = "sha256-r2STKnZwNvonXATrQ5q9NVD9QftlWI1RWl4F+GZSxVg="; + }; + + env = { + SETUPTOOLS_SCM_PRETEND_VERSION = version; + } // lib.optionalAttrs stdenv.cc.isClang { + # Try to remove on next update. generated code returns a NULL in a + # function where an int is expected. + NIX_CFLAGS_COMPILE = "-Wno-error=int-conversion"; }; propagatedBuildInputs = [ - pyparsing - numpy astropy - cython + numpy + pyparsing ]; - # Upstream patches needed for the tests to pass - # See https://github.com/astropy/pyregion/pull/157/ - patches = [ - (fetchpatch { - url = "https://github.com/astropy/pyregion/pull/157/commits/082649730d353a0d0c0ee9619be1aa501aabba62.patch"; - hash = "sha256-4mHZt3S29ZfK+QKavm6DLBwVxGl/ga7W7GEcQ5ewxuo="; - }) - (fetchpatch { - url = "https://github.com/astropy/pyregion/pull/157/commits/c448a465dd56887979da62aec6138fc89bb37b19.patch"; - hash = "sha256-GEtvScmVbAdE4E5Xx0hNOPommvzcnJ3jNZpBmY3PbyE="; - }) + nativeBuildInputs = [ + cython + oldest-supported-numpy + setuptools + setuptools-scm + wheel ]; - nativeBuildInputs = [ astropy-helpers cython ]; - nativeCheckInputs = [ pytestCheckHook pytest-astropy ]; - disabledTests = lib.optionals (!stdenv.hostPlatform.isDarwin) [ - # Skipping 2 tests because it's failing. Domain knowledge was unavailable on decision. - # Error logs: https://gist.github.com/superherointj/3f616f784014eeb2e3039b0f4037e4e9 - "test_calculate_rotation_angle" - "test_region" - ]; - - # Disable automatic update of the astropy-helper module - postPatch = '' - substituteInPlace setup.cfg --replace "auto_use = True" "auto_use = False" - ''; - # Tests must be run in the build directory preCheck = '' pushd build/lib.* @@ -70,6 +65,7 @@ buildPythonPackage rec { ''; meta = with lib; { + changelog = "https://github.com/astropy/pyregion/blob/${version}/CHANGES.rst"; description = "Python parser for ds9 region files"; homepage = "https://github.com/astropy/pyregion"; license = licenses.mit;