···1+{ lib
2+, buildPythonPackage
3+, fetchPypi
4+, numpy
5+}:
6+7+buildPythonPackage rec {
8+ pname = "oldest-supported-numpy";
9+ version = "2023.8.3";
10+ format = "setuptools";
11+12+ src = fetchPypi {
13+ inherit pname version;
14+ hash = "sha256-yJp+wzsihagnI3crGPDBo+CqbVO4Xhxulj/o/NitxU0=";
15+ };
16+17+ # The purpose of oldest-supported-numpy is to build a project against the
18+ # oldest version of numpy for a given Python distribution in order to build
19+ # a binary that is compatible with the largest possible versons of numpy.
20+ # We only build against one version of numpy in nixpkgs, so instead we only
21+ # want to make sure that we have a version above the minimum.
22+ #
23+ postPatch = ''
24+ substituteInPlace setup.cfg \
25+ --replace 'numpy==' 'numpy>='
26+ '';
27+28+ nativeBuildInputs = [
29+ numpy
30+ ];
31+32+ doCheck = false;
33+34+ meta = with lib; {
35+ description = "Meta-package providing the oldest supported Numpy for a given Python version and platform";
36+ homepage = "https://github.com/scipy/oldest-supported-numpy";
37+ license = licenses.bsd2;
38+ maintainers = with maintainers; [ tjni ];
39+ };
40+}
···37 ];
3839 configureFlags = [
40- "--disable-nls"
41- "--disable-shared"
42- "--disable-werror"
43 "--prefix=${placeholder "out"}"
44-45 "--build=${buildPlatform.config}"
46 "--host=${hostPlatform.config}"
00004748 # Turn on --enable-new-dtags by default to make the linker set
49 # RUNPATH instead of RPATH on binaries. This is important because
···9394 # Patch
95 ${lib.concatMapStringsSep "\n" (f: "patch -Np1 -i ${f}") patches}
96- # Clear the default library search path.
97- echo 'NATIVE_LIB_DIRS=' >> ld/configure.tgt
9899 # Configure
100 ${if mesBootstrap then ''
···37 ];
3839 configureFlags = [
00040 "--prefix=${placeholder "out"}"
041 "--build=${buildPlatform.config}"
42 "--host=${hostPlatform.config}"
43+ "--disable-nls"
44+ "--disable-shared"
45+ "--disable-werror"
46+ "--with-sysroot=/"
4748 # Turn on --enable-new-dtags by default to make the linker set
49 # RUNPATH instead of RPATH on binaries. This is important because
···9394 # Patch
95 ${lib.concatMapStringsSep "\n" (f: "patch -Np1 -i ${f}") patches}
009697 # Configure
98 ${if mesBootstrap then ''
···77 coronavirus = throw "coronavirus was removed, because the source is not providing the data anymore."; # added 2023-05-04
78 cozy = throw "cozy was removed because it was not actually https://pypi.org/project/Cozy/."; # added 2022-01-14
79 cryptography_vectors = "cryptography_vectors is no longer exposed in python*Packages because it is used for testing cryptography only."; # Added 2022-03-23
080 dask-xgboost = throw "dask-xgboost was removed because its features are available in xgboost"; # added 2022-05-24
81 dateutil = python-dateutil; # added 2021-07-03
82 demjson = throw "demjson has been removed, it was using setuptools 2to3 translation feature, which has been removed in setuptools 58"; # added 2022-01-18
···77 coronavirus = throw "coronavirus was removed, because the source is not providing the data anymore."; # added 2023-05-04
78 cozy = throw "cozy was removed because it was not actually https://pypi.org/project/Cozy/."; # added 2022-01-14
79 cryptography_vectors = "cryptography_vectors is no longer exposed in python*Packages because it is used for testing cryptography only."; # Added 2022-03-23
80+ cx_Freeze = cx-freeze; # added 2023-08-02
81 dask-xgboost = throw "dask-xgboost was removed because its features are available in xgboost"; # added 2022-05-24
82 dateutil = python-dateutil; # added 2021-07-03
83 demjson = throw "demjson has been removed, it was using setuptools 2to3 translation feature, which has been removed in setuptools 58"; # added 2022-01-18