Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

python311Packages.pyregion: 2.1.1 -> 2.2.0; fix darwin build #270042

Merged
merged 1 commit into from Nov 27, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 30 additions & 34 deletions pkgs/development/python-modules/pyregion/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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.*
Expand All @@ -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;
Expand Down