diff options
author | Weijia Wang <9713184+wegank@users.noreply.github.com> | 2023-11-10 16:25:02 +0100 |
---|---|---|
committer | Weijia Wang <9713184+wegank@users.noreply.github.com> | 2023-11-10 16:25:02 +0100 |
commit | d8ebb730230386ceb409962a8c040a22c6ab6650 (patch) | |
tree | 2a62a6ab35dcee5db3c54fe359f47c70c714de14 /pkgs | |
parent | 991b95cbddd5c369f4ec467bfb205c5466917cb4 (diff) | |
parent | 2e6aa8fc5dc11a704305e5c4357b02924347d680 (diff) | |
download | nixpkgs-d8ebb730230386ceb409962a8c040a22c6ab6650.tar nixpkgs-d8ebb730230386ceb409962a8c040a22c6ab6650.tar.gz nixpkgs-d8ebb730230386ceb409962a8c040a22c6ab6650.tar.bz2 nixpkgs-d8ebb730230386ceb409962a8c040a22c6ab6650.tar.lz nixpkgs-d8ebb730230386ceb409962a8c040a22c6ab6650.tar.xz nixpkgs-d8ebb730230386ceb409962a8c040a22c6ab6650.tar.zst nixpkgs-d8ebb730230386ceb409962a8c040a22c6ab6650.zip |
Merge branch 'master' into staging-next
Diffstat (limited to 'pkgs')
33 files changed, 436 insertions, 101 deletions
diff --git a/pkgs/applications/editors/lifeograph/default.nix b/pkgs/applications/editors/lifeograph/default.nix index 099aec1558b..2a9557dce62 100644 --- a/pkgs/applications/editors/lifeograph/default.nix +++ b/pkgs/applications/editors/lifeograph/default.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { src = fetchgit { url = "https://git.launchpad.net/lifeograph"; rev = "v${version}"; - sha256 = "sha256-RotbTdTtpwXmo+UKOyp93IAC6CCstv++KtnX2doN+nM="; + hash = "sha256-RotbTdTtpwXmo+UKOyp93IAC6CCstv++KtnX2doN+nM="; }; nativeBuildInputs = [ @@ -36,6 +36,7 @@ stdenv.mkDerivation rec { description = "Lifeograph is an off-line and private journal and note taking application"; license = licenses.gpl3Only; maintainers = with maintainers; [ wolfangaukang ]; + mainProgram = "lifeograph"; platforms = platforms.linux; }; } diff --git a/pkgs/applications/science/math/R/default.nix b/pkgs/applications/science/math/R/default.nix index 814f54f3863..f4cc1f1fbfe 100644 --- a/pkgs/applications/science/math/R/default.nix +++ b/pkgs/applications/science/math/R/default.nix @@ -15,13 +15,13 @@ assert (!blas.isILP64) && (!lapack.isILP64); stdenv.mkDerivation (finalAttrs: { pname = "R"; - version = "4.3.1"; + version = "4.3.2"; src = let inherit (finalAttrs) pname version; in fetchurl { url = "https://cran.r-project.org/src/base/R-${lib.versions.major version}/${pname}-${version}.tar.gz"; - sha256 = "sha256-jdC/JPECPG9hjDsxc4PSkbSklPQNc7mDrCL/6pnkupk="; + sha256 = "sha256-s/V2CsLu6AJqPw7vyyW0dyPZeAOO7o6ER2IJTIYMRSo="; }; outputs = [ "out" "tex" ]; diff --git a/pkgs/development/python-modules/openai-triton/llvm.nix b/pkgs/by-name/op/openai-triton-llvm/package.nix index 70ea69a9b15..2fb56d0a635 100644 --- a/pkgs/development/python-modules/openai-triton/llvm.nix +++ b/pkgs/by-name/op/openai-triton-llvm/package.nix @@ -22,7 +22,7 @@ }: stdenv.mkDerivation (finalAttrs: { - pname = "triton-llvm"; + pname = "openai-triton-llvm"; version = "14.0.6-f28c006a5895"; outputs = [ diff --git a/pkgs/development/interpreters/octave/default.nix b/pkgs/development/interpreters/octave/default.nix index 9bb0a75b272..ab9128772d3 100644 --- a/pkgs/development/interpreters/octave/default.nix +++ b/pkgs/development/interpreters/octave/default.nix @@ -93,12 +93,12 @@ let # To avoid confusion later in passthru allPkgs = pkgs; in stdenv.mkDerivation (finalAttrs: { - version = "8.3.0"; + version = "8.4.0"; pname = "octave"; src = fetchurl { url = "mirror://gnu/octave/octave-${finalAttrs.version}.tar.gz"; - sha256 = "sha256-K0gRHLZ7MSgX5dHz4XH1utFRK7Bn4WdLnEspKBiVuXo="; + sha256 = "sha256-azjdl1FnhCSus6nWZkMrHzeOs5caISkKkM09NRGdVq0="; }; buildInputs = [ diff --git a/pkgs/development/libraries/rapidjson/0000-unstable-use-nixpkgs-gtest.patch b/pkgs/development/libraries/rapidjson/0000-unstable-use-nixpkgs-gtest.patch new file mode 100644 index 00000000000..df334cc9126 --- /dev/null +++ b/pkgs/development/libraries/rapidjson/0000-unstable-use-nixpkgs-gtest.patch @@ -0,0 +1,35 @@ +diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt +index 11c1b04c..762eaa75 100644 +--- a/test/CMakeLists.txt ++++ b/test/CMakeLists.txt +@@ -1,20 +1,14 @@ +-find_package(GTestSrc) ++enable_testing() + +-IF(GTESTSRC_FOUND) +- enable_testing() ++if (WIN32 AND (NOT CYGWIN) AND (NOT MINGW)) ++ set(gtest_disable_pthreads ON) ++ set(gtest_force_shared_crt ON) ++endif() + +- if (WIN32 AND (NOT CYGWIN) AND (NOT MINGW)) +- set(gtest_disable_pthreads ON) +- set(gtest_force_shared_crt ON) +- endif() ++include_directories(SYSTEM ${GTEST_INCLUDE_DIR}) + +- add_subdirectory(${GTEST_SOURCE_DIR} ${CMAKE_BINARY_DIR}/googletest) +- include_directories(SYSTEM ${GTEST_INCLUDE_DIR}) ++set(TEST_LIBRARIES gtest gtest_main) + +- set(TEST_LIBRARIES gtest gtest_main) +- +- add_custom_target(tests ALL) +- add_subdirectory(perftest) +- add_subdirectory(unittest) +- +-ENDIF(GTESTSRC_FOUND) ++add_custom_target(tests ALL) ++add_subdirectory(perftest) ++add_subdirectory(unittest) diff --git a/pkgs/development/libraries/rapidjson/0001-unstable-valgrind-suppress-failures.patch b/pkgs/development/libraries/rapidjson/0001-unstable-valgrind-suppress-failures.patch new file mode 100644 index 00000000000..dd06ba6a697 --- /dev/null +++ b/pkgs/development/libraries/rapidjson/0001-unstable-valgrind-suppress-failures.patch @@ -0,0 +1,36 @@ +diff --git a/test/valgrind.supp b/test/valgrind.supp +index c9d3d226..63af7bf9 100644 +--- a/test/valgrind.supp ++++ b/test/valgrind.supp +@@ -24,3 +24,31 @@ + fun:*Uri*Parse_UTF16_Std* + } + ++{ ++ Suppress memcpy_chk valgrind report 5 ++ Memcheck:Overlap ++ fun:__memcpy_chk ++ fun:*dtoa_normal* ++} ++ ++{ ++ Suppress memcpy_chk valgrind report 6 ++ Memcheck:Overlap ++ fun:__memcpy_chk ++ fun:*dtoa_maxDecimalPlaces* ++} ++ ++{ ++ Suppress memcpy_chk valgrind report 7 ++ Memcheck:Overlap ++ fun:__memcpy_chk ++ ... ++ fun:*Reader*ParseDoubleHandler* ++} ++ ++{ ++ Suppress memcpy_chk valgrind report 8 ++ Memcheck:Overlap ++ fun:__memcpy_chk ++ fun:*Reader*ParseNumber_NormalPrecisionError* ++} diff --git a/pkgs/development/libraries/rapidjson/unstable.nix b/pkgs/development/libraries/rapidjson/unstable.nix index 069f1a48e0e..0f4c3d40403 100644 --- a/pkgs/development/libraries/rapidjson/unstable.nix +++ b/pkgs/development/libraries/rapidjson/unstable.nix @@ -1,17 +1,30 @@ { lib , stdenv , fetchFromGitHub -, fetchpatch -, pkg-config , cmake +, doxygen +, graphviz , gtest , valgrind +# One of "11" or "17"; default in source is CXX 11 +, cxxStandard ? "11" +, buildDocs ? true +, buildTests ? !stdenv.hostPlatform.isStatic && !stdenv.isDarwin +, buildExamples ? true }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "rapidjson"; version = "unstable-2023-09-28"; + outputs = [ + "out" + ] ++ lib.optionals buildDocs [ + "doc" + ] ++ lib.optionals buildExamples [ + "example" + ]; + src = fetchFromGitHub { owner = "Tencent"; repo = "rapidjson"; @@ -19,26 +32,44 @@ stdenv.mkDerivation rec { hash = "sha256-rl7iy14jn1K2I5U2DrcZnoTQVEGEDKlxmdaOCF/3hfY="; }; + patches = lib.optionals buildTests [ + ./0000-unstable-use-nixpkgs-gtest.patch + # https://github.com/Tencent/rapidjson/issues/2214 + ./0001-unstable-valgrind-suppress-failures.patch + ]; + nativeBuildInputs = [ - pkg-config cmake + ] ++ lib.optionals buildDocs [ + doxygen + graphviz ]; - patches = [ - (fetchpatch { - name = "do-not-include-gtest-src-dir.patch"; - url = "https://git.alpinelinux.org/aports/plain/community/rapidjson/do-not-include-gtest-src-dir.patch?id=9e5eefc7a5fcf5938a8dc8a3be8c75e9e6809909"; - hash = "sha256-BjSZEwfCXA/9V+kxQ/2JPWbc26jQn35CfN8+8NW24s4="; - }) + cmakeFlags = [ + (lib.cmakeBool "RAPIDJSON_BUILD_DOC" buildDocs) + (lib.cmakeBool "RAPIDJSON_BUILD_TESTS" buildTests) + (lib.cmakeBool "RAPIDJSON_BUILD_EXAMPLES" buildExamples) + (lib.cmakeBool "RAPIDJSON_BUILD_CXX11" (cxxStandard == "11")) + (lib.cmakeBool "RAPIDJSON_BUILD_CXX17" (cxxStandard == "17")) + ] ++ lib.optionals buildTests [ + (lib.cmakeFeature "GTEST_INCLUDE_DIR" "${lib.getDev gtest}") + ]; + + doCheck = buildTests; + + nativeCheckInputs = [ + gtest + valgrind ]; - # for tests, adding gtest to checkInputs does not work - # https://github.com/NixOS/nixpkgs/pull/212200 - buildInputs = [ gtest ]; - cmakeFlags = [ "-DGTEST_SOURCE_DIR=${gtest.dev}/include" ]; + postInstall = lib.optionalString buildExamples '' + mkdir -p $example/bin - nativeCheckInputs = [ valgrind ]; - doCheck = !stdenv.hostPlatform.isStatic && !stdenv.isDarwin; + find bin -type f -executable \ + -not -name "perftest" \ + -not -name "unittest" \ + -exec cp -a {} $example/bin \; + ''; meta = with lib; { description = "Fast JSON parser/generator for C++ with both SAX/DOM style API"; @@ -46,5 +77,6 @@ stdenv.mkDerivation rec { license = licenses.mit; platforms = platforms.unix; maintainers = with maintainers; [ Madouura ]; + broken = (cxxStandard != "11" && cxxStandard != "17"); }; -} +}) diff --git a/pkgs/development/python-modules/arviz/default.nix b/pkgs/development/python-modules/arviz/default.nix index b37e7d9a8a1..0a186781b4a 100644 --- a/pkgs/development/python-modules/arviz/default.nix +++ b/pkgs/development/python-modules/arviz/default.nix @@ -28,6 +28,7 @@ , pyro-ppl #, pystan (not packaged) , numpyro +, bokeh }: buildPythonPackage rec { @@ -72,6 +73,7 @@ buildPythonPackage rec { pytestCheckHook torchvision zarr + bokeh ]; preCheck = '' @@ -97,6 +99,8 @@ buildPythonPackage rec { # An issue has been opened upstream: https://github.com/arviz-devs/arviz/issues/2282 "test_plot_ppc_discrete" "test_plot_ppc_discrete_save_animation" + # Assertion error + "test_data_zarr" ]; pythonImportsCheck = [ diff --git a/pkgs/development/python-modules/ax/default.nix b/pkgs/development/python-modules/ax/default.nix index e9ca9dba6ca..1a4da01df6d 100644 --- a/pkgs/development/python-modules/ax/default.nix +++ b/pkgs/development/python-modules/ax/default.nix @@ -69,6 +69,10 @@ buildPythonPackage rec { disabledTests = [ # exact comparison of floating points "test_optimize_l0_homotopy" + # AssertionError: 5 != 2 + "test_get_standard_plots_moo" + # AssertionError: Expected 'warning' to be called once. Called 3 times + "test_validate_kwarg_typing" ]; pythonImportsCheck = [ "ax" ]; diff --git a/pkgs/development/python-modules/cleanlab/default.nix b/pkgs/development/python-modules/cleanlab/default.nix index f1de682c40b..fdaf384262b 100644 --- a/pkgs/development/python-modules/cleanlab/default.nix +++ b/pkgs/development/python-modules/cleanlab/default.nix @@ -6,23 +6,27 @@ , termcolor , tqdm , pandas +, setuptools # test dependencies +, pytestCheckHook +, pytest-lazy-fixture , tensorflow , torch , datasets , torchvision , keras , fasttext +, hypothesis +, wget +, matplotlib +, skorch }: -let + +buildPythonPackage rec { pname = "cleanlab"; version = "2.5.0"; -in -buildPythonPackage { - inherit pname version; - format = "setuptools"; - - disabled = pythonOlder "3.8"; + pyproject = true; + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "cleanlab"; @@ -31,11 +35,7 @@ buildPythonPackage { hash = "sha256-5XQQVrhjpvjwtFM79DqttObmw/GQLkMQVXb5jhiC8e0="; }; - # postPatch = '' - # substituteInPlace pyproject.toml \ - # --replace '"rich <= 13.0.1"' '"rich"' \ - # --replace '"numpy < 1.24.0"' '"numpy"' - # ''; + nativeBuildInputs = [ setuptools ]; propagatedBuildInputs = [ scikit-learn @@ -44,13 +44,38 @@ buildPythonPackage { pandas ]; + # This is ONLY turned off when we have testing enabled. + # The reason we do this is because of duplicate packages in the enclosure + # when using the packages in nativeCheckInputs. + # Affected packages: grpcio protobuf tensorboard tensorboard-plugin-profile + catchConflicts = (!doCheck); + doCheck = true; + nativeCheckInputs = [ + pytestCheckHook + pytest-lazy-fixture tensorflow torch datasets torchvision keras fasttext + hypothesis + wget + matplotlib + skorch + ]; + + disabledTests = [ + # Requires the datasets we prevent from downloading + "test_create_imagelab" + ]; + + disabledTestPaths = [ + # Requires internet + "tests/test_dataset.py" + # Requires the datasets we just prevented from downloading + "tests/datalab/test_cleanvision_integration.py" ]; meta = with lib; { diff --git a/pkgs/development/python-modules/cvxpy/default.nix b/pkgs/development/python-modules/cvxpy/default.nix index 0fb8be981e1..3d34b6edda8 100644 --- a/pkgs/development/python-modules/cvxpy/default.nix +++ b/pkgs/development/python-modules/cvxpy/default.nix @@ -12,19 +12,20 @@ , scs , setuptools , wheel +, pybind11 , useOpenmp ? (!stdenv.isDarwin) }: buildPythonPackage rec { pname = "cvxpy"; - version = "1.3.2"; + version = "1.4.1"; format = "pyproject"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-C2heUEDxmfPXA/MPXSLR+GVZdiNFUVPR3ddwJFrvCXU="; + hash = "sha256-ep7zTjxX/4yETYbwo4NPtVda8ZIzlHY53guld8YSLj4="; }; # we need to patch out numpy version caps from upstream @@ -35,6 +36,7 @@ buildPythonPackage rec { nativeBuildInputs = [ setuptools wheel + pybind11 ]; propagatedBuildInputs = [ @@ -44,7 +46,6 @@ buildPythonPackage rec { osqp scipy scs - setuptools ]; nativeCheckInputs = [ diff --git a/pkgs/development/python-modules/fairseq/default.nix b/pkgs/development/python-modules/fairseq/default.nix index 92d8a5e7856..35275c32780 100644 --- a/pkgs/development/python-modules/fairseq/default.nix +++ b/pkgs/development/python-modules/fairseq/default.nix @@ -2,6 +2,7 @@ , buildPythonPackage , pythonOlder , fetchFromGitHub +, fetchpatch # Native build inputs , cython @@ -27,12 +28,12 @@ , hypothesis , pytestCheckHook }: -let + +buildPythonPackage rec { pname = "fairseq"; version = "0.12.3"; -in -buildPythonPackage rec { - inherit version pname; + pyproject = true; + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "pytorch"; @@ -41,17 +42,25 @@ buildPythonPackage rec { hash = "sha256-XX/grU5ljQCwx33miGoFc/7Uj9fZDtmhm4Fz7L4U+Bc="; }; - disabled = pythonOlder "3.7"; + patches = [ + # https://github.com/facebookresearch/fairseq/pull/5359 + (fetchpatch { + url = "https://github.com/facebookresearch/fairseq/commit/2fa0768c2115b0a4c207cfa3e1b3e4ff3ad9a00c.patch"; + hash = "sha256-aYYP/knQX6q6vhyA6q9uOOYfRhDAuJCo9QJWfFEDuuA="; + }) + ]; nativeBuildInputs = [ cython pythonRelaxDepsHook which ]; + pythonRelaxDeps = [ "hydra-core" "omegaconf" ]; + propagatedBuildInputs = [ cffi hydra-core @@ -74,6 +83,7 @@ buildPythonPackage rec { ]; pythonImportsCheck = [ "fairseq" ]; + preCheck = '' export HOME=$TMPDIR cd tests @@ -82,6 +92,7 @@ buildPythonPackage rec { pytestFlagsArray = [ "--import-mode append" ]; + disabledTests = [ # this test requires xformers "test_xformers_single_forward_parity" @@ -96,6 +107,11 @@ buildPythonPackage rec { "test_librispeech_s2t_conformer_s_checkpoint" ]; + disabledTestPaths = [ + # ValueError: mutable default ... for field bar is not allowed: use default_factory + "test_dataclass_utils.py" + ]; + meta = with lib; { description = "Facebook AI Research Sequence-to-Sequence Toolkit"; homepage = "https://github.com/pytorch/fairseq"; diff --git a/pkgs/development/python-modules/jupyter-client/default.nix b/pkgs/development/python-modules/jupyter-client/default.nix index 2d7234051d2..014b67cb4b4 100644 --- a/pkgs/development/python-modules/jupyter-client/default.nix +++ b/pkgs/development/python-modules/jupyter-client/default.nix @@ -11,6 +11,8 @@ , traitlets , isPyPy , py +, pythonOlder +, importlib-metadata }: buildPythonPackage rec { @@ -35,6 +37,8 @@ buildPythonPackage rec { pyzmq tornado traitlets + ] ++ lib.optionals (pythonOlder "3.10") [ + importlib-metadata ] ++ lib.optional isPyPy py; # Circular dependency with ipykernel diff --git a/pkgs/development/python-modules/mayavi/default.nix b/pkgs/development/python-modules/mayavi/default.nix index bdc0a74007d..dc786ac6d7d 100644 --- a/pkgs/development/python-modules/mayavi/default.nix +++ b/pkgs/development/python-modules/mayavi/default.nix @@ -9,6 +9,7 @@ , pygments , pyqt5 , pythonOlder +, pythonAtLeast , traitsui , vtk , wrapQtAppsHook @@ -18,8 +19,7 @@ buildPythonPackage rec { pname = "mayavi"; version = "4.8.1"; format = "setuptools"; - - disabled = pythonOlder "3.8"; + disabled = pythonOlder "3.8" || pythonAtLeast "3.11"; src = fetchPypi { inherit pname version; diff --git a/pkgs/development/python-modules/omegaconf/0000-add-support-for-dataclasses_missing_type.patch b/pkgs/development/python-modules/omegaconf/0000-add-support-for-dataclasses_missing_type.patch new file mode 100644 index 00000000000..6435d86a68a --- /dev/null +++ b/pkgs/development/python-modules/omegaconf/0000-add-support-for-dataclasses_missing_type.patch @@ -0,0 +1,21 @@ +diff --git a/omegaconf/omegaconf.py b/omegaconf/omegaconf.py +index efde14a..a2a050e 100644 +--- a/omegaconf/omegaconf.py ++++ b/omegaconf/omegaconf.py +@@ -7,6 +7,7 @@ import pathlib + import sys + import warnings + from collections import defaultdict ++from dataclasses import _MISSING_TYPE + from contextlib import contextmanager + from enum import Enum + from textwrap import dedent +@@ -828,6 +829,8 @@ class OmegaConf: + + if obj is _DEFAULT_MARKER_: + obj = {} ++ if isinstance(obj, _MISSING_TYPE): ++ return OmegaConf.create({}, parent=parent, flags=flags) + if isinstance(obj, str): + obj = yaml.load(obj, Loader=get_yaml_loader()) + if obj is None: diff --git a/pkgs/development/python-modules/omegaconf/default.nix b/pkgs/development/python-modules/omegaconf/default.nix index d506e06d6f6..c6dfada82bd 100644 --- a/pkgs/development/python-modules/omegaconf/default.nix +++ b/pkgs/development/python-modules/omegaconf/default.nix @@ -3,6 +3,7 @@ , antlr4-python3-runtime , buildPythonPackage , fetchFromGitHub +, setuptools , jre_minimal , pydevd , pytest-mock @@ -15,8 +16,7 @@ buildPythonPackage rec { pname = "omegaconf"; version = "2.3.0"; - format = "setuptools"; - + pyproject = true; disabled = pythonOlder "3.6"; src = fetchFromGitHub { @@ -31,6 +31,9 @@ buildPythonPackage rec { src = ./antlr4.patch; antlr_jar = "${antlr4.out}/share/java/antlr-${antlr4.version}-complete.jar"; }) + + # https://github.com/omry/omegaconf/pull/1137 + ./0000-add-support-for-dataclasses_missing_type.patch ]; postPatch = '' @@ -42,6 +45,7 @@ buildPythonPackage rec { ''; nativeBuildInputs = [ + setuptools jre_minimal ]; diff --git a/pkgs/development/python-modules/openai-triton/0000-dont-download-ptxas.patch b/pkgs/development/python-modules/openai-triton/0000-dont-download-ptxas.patch new file mode 100644 index 00000000000..5038a5ba52e --- /dev/null +++ b/pkgs/development/python-modules/openai-triton/0000-dont-download-ptxas.patch @@ -0,0 +1,39 @@ +diff --git a/python/setup.py b/python/setup.py +index 2ac3accd2..f26161c72 100644 +--- a/python/setup.py ++++ b/python/setup.py +@@ -101,25 +101,6 @@ def get_thirdparty_packages(triton_cache_path): + # ---- package data --- + + +-def download_and_copy_ptxas(): +- base_dir = os.path.dirname(__file__) +- src_path = "bin/ptxas" +- url = "https://conda.anaconda.org/nvidia/label/cuda-12.0.0/linux-64/cuda-nvcc-12.0.76-0.tar.bz2" +- dst_prefix = os.path.join(base_dir, "triton") +- dst_suffix = os.path.join("third_party", "cuda", src_path) +- dst_path = os.path.join(dst_prefix, dst_suffix) +- if not os.path.exists(dst_path): +- print(f'downloading and extracting {url} ...') +- ftpstream = urllib.request.urlopen(url) +- file = tarfile.open(fileobj=ftpstream, mode="r|*") +- with tempfile.TemporaryDirectory() as temp_dir: +- file.extractall(path=temp_dir) +- src_path = os.path.join(temp_dir, src_path) +- os.makedirs(os.path.split(dst_path)[0], exist_ok=True) +- shutil.copy(src_path, dst_path) +- return dst_suffix +- +- + # ---- cmake extension ---- + + +@@ -200,8 +181,6 @@ class CMakeBuild(build_ext): + subprocess.check_call(["cmake", "--build", "."] + build_args, cwd=self.build_temp) + + +-download_and_copy_ptxas() +- + setup( + name="triton", + version="2.0.0", diff --git a/pkgs/development/python-modules/openai-triton/default.nix b/pkgs/development/python-modules/openai-triton/default.nix index 68dfc24aafd..e1ac9cb4cef 100644 --- a/pkgs/development/python-modules/openai-triton/default.nix +++ b/pkgs/development/python-modules/openai-triton/default.nix @@ -1,5 +1,5 @@ { lib -, callPackage +, config , buildPythonPackage , fetchFromGitHub , addOpenGLRunpath @@ -14,10 +14,12 @@ , ncurses , libxml2 , lit +, llvm , filelock , torchWithRocm , python , cudaPackages +, cudaSupport ? config.cudaSupport }: let @@ -33,7 +35,6 @@ let # be executed on the GPU. # Cf. https://nixos.org/manual/nixpkgs/unstable/#sec-cross-infra ptxas = "${pkgsTargetTarget.cudaPackages.cuda_nvcc}/bin/ptxas"; # Make sure cudaPackages is the right version each update (See python/setup.py) - llvm = callPackage ./llvm.nix { }; # Use a custom llvm, see llvm.nix for details in buildPythonPackage rec { pname = "triton"; @@ -57,6 +58,8 @@ buildPythonPackage rec { # url = "https://github.com/openai/triton/commit/fc7c0b0e437a191e421faa61494b2ff4870850f1.patch"; # hash = "sha256-f0shIqHJkVvuil2Yku7vuqWFn7VCRKFSFjYRlwx25ig="; # }) + ] ++ lib.optionals (!cudaSupport) [ + ./0000-dont-download-ptxas.patch ]; nativeBuildInputs = [ @@ -102,21 +105,18 @@ buildPythonPackage rec { substituteInPlace bin/CMakeLists.txt \ --replace "add_subdirectory(FileCheck)" "" - # Use our linker flags - substituteInPlace python/triton/compiler.py \ - --replace '${oldStr}' '${newStr}' - # Don't fetch googletest substituteInPlace unittest/CMakeLists.txt \ --replace "include (\''${CMAKE_CURRENT_SOURCE_DIR}/googletest.cmake)" ""\ --replace "include(GoogleTest)" "find_package(GTest REQUIRED)" + '' + lib.optionalString cudaSupport '' + # Use our linker flags + substituteInPlace python/triton/compiler.py \ + --replace '${oldStr}' '${newStr}' ''; # Avoid GLIBCXX mismatch with other cuda-enabled python packages preConfigure = '' - export CC=${cudaPackages.backendStdenv.cc}/bin/cc; - export CXX=${cudaPackages.backendStdenv.cc}/bin/c++; - # Upstream's setup.py tries to write cache somewhere in ~/ export HOME=$(mktemp -d) @@ -127,6 +127,9 @@ buildPythonPackage rec { # The rest (including buildPhase) is relative to ./python/ cd python + '' + lib.optionalString cudaSupport '' + export CC=${cudaPackages.backendStdenv.cc}/bin/cc; + export CXX=${cudaPackages.backendStdenv.cc}/bin/c++; # Work around download_and_copy_ptxas() mkdir -p $PWD/triton/third_party/cuda/bin @@ -137,7 +140,7 @@ buildPythonPackage rec { dontUseCmakeConfigure = true; # Setuptools (?) strips runpath and +x flags. Let's just restore the symlink - postFixup = '' + postFixup = lib.optionalString cudaSupport '' rm -f $out/${python.sitePackages}/triton/third_party/cuda/bin/ptxas ln -s ${ptxas} $out/${python.sitePackages}/triton/third_party/cuda/bin/ptxas ''; diff --git a/pkgs/development/python-modules/pytorch-pfn-extras/default.nix b/pkgs/development/python-modules/pytorch-pfn-extras/default.nix index 138dc5f502f..56473cc95ae 100644 --- a/pkgs/development/python-modules/pytorch-pfn-extras/default.nix +++ b/pkgs/development/python-modules/pytorch-pfn-extras/default.nix @@ -8,6 +8,7 @@ , torch , torchvision , typing-extensions +, pythonAtLeast }: buildPythonPackage rec { @@ -41,6 +42,7 @@ buildPythonPackage rec { "tests/pytorch_pfn_extras_tests/onnx_tests/test_export.py" "tests/pytorch_pfn_extras_tests/onnx_tests/test_torchvision.py" "tests/pytorch_pfn_extras_tests/onnx_tests/utils.py" + "tests/pytorch_pfn_extras_tests/onnx_tests/test_lax.py" # RuntimeError: No Op registered for Gradient with domain_version of 9 "tests/pytorch_pfn_extras_tests/onnx_tests/test_grad.py" @@ -53,13 +55,15 @@ buildPythonPackage rec { "tests/pytorch_pfn_extras_tests/nn_tests/modules_tests/test_lazy.py" "tests/pytorch_pfn_extras_tests/profiler_tests/test_record.py" "tests/pytorch_pfn_extras_tests/runtime_tests/test_to.py" - "tests/pytorch_pfn_extras_tests/test_handler.py" - "tests/pytorch_pfn_extras_tests/test_logic.py" + "tests/pytorch_pfn_extras_tests/handler_tests/test_handler.py" "tests/pytorch_pfn_extras_tests/test_reporter.py" "tests/pytorch_pfn_extras_tests/training_tests/test_trainer.py" "tests/pytorch_pfn_extras_tests/utils_tests/test_checkpoint.py" "tests/pytorch_pfn_extras_tests/utils_tests/test_comparer.py" "tests/pytorch_pfn_extras_tests/utils_tests/test_new_comparer.py" + ] ++ lib.optionals (pythonAtLeast "3.11") [ + # Remove this when https://github.com/NixOS/nixpkgs/pull/259068 is merged + "tests/pytorch_pfn_extras_tests/dynamo_tests/test_compile.py" ]; meta = with lib; { diff --git a/pkgs/development/python-modules/skrl/default.nix b/pkgs/development/python-modules/skrl/default.nix index 20f43924b9d..417c1c1fe35 100644 --- a/pkgs/development/python-modules/skrl/default.nix +++ b/pkgs/development/python-modules/skrl/default.nix @@ -1,9 +1,8 @@ { lib , buildPythonPackage , fetchFromGitHub -, fetchpatch , pythonOlder -, pytestCheckHook +, setuptools , gym , gymnasium , torch @@ -11,13 +10,13 @@ , tqdm , wandb , packaging +, pytestCheckHook }: buildPythonPackage rec { pname = "skrl"; version = "1.0.0"; - format = "setuptools"; - + pyproject = true; disabled = pythonOlder "3.6"; src = fetchFromGitHub { @@ -27,14 +26,7 @@ buildPythonPackage rec { hash = "sha256-89OoJanmaB74SLF1qMI8WFBdN1czS7Yr7BmojaRdo4M="; }; - patches = [ - # remove after next release: - (fetchpatch { - name = "fix-python_requires-specification"; - url = "https://github.com/Toni-SM/skrl/pull/62/commits/9b554adfe2da6cd97cccbbcd418a349cc8f1de80.patch"; - hash = "sha256-GeASMU1Pgy8U1zaIAVroBDjYaY+n93XP5uFyP4U9lok="; - }) - ]; + nativeBuildInputs = [ setuptools ]; propagatedBuildInputs = [ gym diff --git a/pkgs/development/python-modules/spacy/models.json b/pkgs/development/python-modules/spacy/models.json index 0514c9e4197..7f25c4281c3 100644 --- a/pkgs/development/python-modules/spacy/models.json +++ b/pkgs/development/python-modules/spacy/models.json @@ -198,6 +198,30 @@ "license": "cc-by-sa-40" }, { + "pname": "ja_core_news_lg", + "version": "3.7.0", + "sha256": "1nb77kivzy0wixsw8ijmw78fffkpqa63kykqph04jzmh75ra4wvg", + "license": "cc-by-sa-40" + }, + { + "pname": "ja_core_news_md", + "version": "3.7.0", + "sha256": "0p22bwc24q76cl7ndszvhqgllvq3ws3i3vbjsp5xvhxxls6p49x9", + "license": "cc-by-sa-40" + }, + { + "pname": "ja_core_news_sm", + "version": "3.7.0", + "sha256": "0bfvkds4dqynjshk2lxfya9yfcnbvwjfhc6n7yh0852ms1ycicaw", + "license": "cc-by-sa-40" + }, + { + "pname": "ja_core_news_trf", + "version": "3.7.0", + "sha256": "0n2lqql4flnilgf671n5mcdp8vi5pdjfz3vymxsapc1gyp29jykk", + "license": "cc-by-sa-30" + }, + { "pname": "it_core_news_lg", "version": "3.7.0", "sha256": "0gwn6pf0rzbplahs2wnzp6379mmj066dqhijhq4ln4552fz4d1yx", @@ -378,6 +402,30 @@ "license": "mit" }, { + "pname": "sl_core_news_lg", + "version": "3.7.0", + "sha256": "128ayhp21szc31ckiq3i8vib42i9xnz4lpi1709gjdc38cpmpnlp", + "license": "cc-by-sa-40" + }, + { + "pname": "sl_core_news_md", + "version": "3.7.0", + "sha256": "07gx174gw5q1zgyyg1xhfplihhnr311f9562ri5pdd2hgjyz58yb", + "license": "cc-by-sa-40" + }, + { + "pname": "sl_core_news_sm", + "version": "3.7.0", + "sha256": "005xwsnh5y3pf8y64lhvrzcbh8y34yr3in204as6hv7krsfg8bxa", + "license": "cc-by-sa-40" + }, + { + "pname": "sl_core_news_trf", + "version": "3.7.0", + "sha256": "0x97lwm1i2dq4kdg6rvarh9mnlcx45cnwq80qpjwv3b7zmviyq8c", + "license": "cc-by-sa-40" + }, + { "pname": "sv_core_news_lg", "version": "3.7.0", "sha256": "05qaff8r3vs30zaxja1lgpibd12njp9ciq49zs26i6d4dqa18hdp", diff --git a/pkgs/development/python-modules/stytra/0000-workaround-pyqtgraph.patch b/pkgs/development/python-modules/stytra/0000-workaround-pyqtgraph.patch new file mode 100644 index 00000000000..ad0ecbb1130 --- /dev/null +++ b/pkgs/development/python-modules/stytra/0000-workaround-pyqtgraph.patch @@ -0,0 +1,26 @@ +diff --git a/stytra/gui/fishplots.py b/stytra/gui/fishplots.py +index 49ef1fe..fd1cc50 100644 +--- a/stytra/gui/fishplots.py ++++ b/stytra/gui/fishplots.py +@@ -13,7 +13,7 @@ from lightparam.gui import ParameterGui + from scipy.ndimage.filters import gaussian_filter1d + + +-class StreamingPositionPlot(pg.GraphicsWindow): ++class StreamingPosition(pg.GraphicsView): + """Plot that displays the virtual position of the fish""" + + def __init__(self, *args, data_accumulator, n_points=500, **kwargs): +diff --git a/stytra/utilities.py b/stytra/utilities.py +index f79c4db..feaa7ef 100644 +--- a/stytra/utilities.py ++++ b/stytra/utilities.py +@@ -239,7 +239,7 @@ def recursive_update(d, u): + :return: + """ + for k, v in u.items(): +- if isinstance(v, collections.Mapping): ++ if isinstance(v, collections.ChainMap): + d[k] = recursive_update(d.get(k, {}), v) + else: + d[k] = v diff --git a/pkgs/development/python-modules/stytra/default.nix b/pkgs/development/python-modules/stytra/default.nix index 01907cb15b0..821aaa41437 100644 --- a/pkgs/development/python-modules/stytra/default.nix +++ b/pkgs/development/python-modules/stytra/default.nix @@ -33,8 +33,7 @@ buildPythonPackage rec { pname = "stytra"; version = "0.8.34"; - format = "setuptools"; - + pyproject = true; disabled = pythonOlder "3.7"; src = fetchPypi { @@ -42,10 +41,10 @@ buildPythonPackage rec { sha256 = "aab9d07575ef599a9c0ae505656e3c03ec753462df3c15742f1f768f2b578f0a"; }; - # crashes python - preCheck = '' - rm stytra/tests/test_z_experiments.py - ''; + patches = [ + # https://github.com/portugueslab/stytra/issues/87 + ./0000-workaround-pyqtgraph.patch + ]; propagatedBuildInputs = [ opencv4 @@ -79,6 +78,11 @@ buildPythonPackage rec { pyserial ]; + disabledTestPaths = [ + # Crashes python + "stytra/tests/test_z_experiments.py" + ]; + meta = with lib; { description = "A modular package to control stimulation and track behaviour"; homepage = "https://github.com/portugueslab/stytra"; diff --git a/pkgs/development/python-modules/torch/default.nix b/pkgs/development/python-modules/torch/default.nix index 743f8952a9e..e31b6306bb1 100644 --- a/pkgs/development/python-modules/torch/default.nix +++ b/pkgs/development/python-modules/torch/default.nix @@ -305,7 +305,7 @@ in buildPythonPackage rec { ]) ++ lib.optionals rocmSupport [ rocmtoolkit_joined ]; - buildInputs = [ blas blas.provider pybind11 ] + buildInputs = [ blas blas.provider ] ++ lib.optionals cudaSupport (with cudaPackages; [ cuda_cccl.dev # <thrust/*> cuda_cudart # cuda_runtime.h and libraries @@ -357,17 +357,15 @@ in buildPythonPackage rec { # the following are required for tensorboard support pillow six future tensorboard protobuf + + # ROCm build and `torch.compile` requires openai-triton + openai-triton + + # torch/csrc requires `pybind11` at runtime + pybind11 ] ++ lib.optionals MPISupport [ mpi ] - ++ lib.optionals rocmSupport [ rocmtoolkit_joined ] - # rocm build requires openai-triton; - # openai-triton currently requires cuda_nvcc, - # so not including it in the cpu-only build; - # torch.compile relies on openai-triton, - # so we include it for the cuda build as well - ++ lib.optionals (rocmSupport || cudaSupport) [ - openai-triton - ]; + ++ lib.optionals rocmSupport [ rocmtoolkit_joined ]; # Tests take a long time and may be flaky, so just sanity-check imports doCheck = false; diff --git a/pkgs/development/python-modules/torchinfo/default.nix b/pkgs/development/python-modules/torchinfo/default.nix index 6cc7bcf3e27..59b7e99c9df 100644 --- a/pkgs/development/python-modules/torchinfo/default.nix +++ b/pkgs/development/python-modules/torchinfo/default.nix @@ -53,6 +53,8 @@ buildPythonPackage rec { "test_flan_t5_small" # AssertionError in output "test_google" + # "addmm_impl_cpu_" not implemented for 'Half' + "test_input_size_half_precision" ]; disabledTestPaths = [ diff --git a/pkgs/development/python-modules/torchmetrics/default.nix b/pkgs/development/python-modules/torchmetrics/default.nix index 85e85c16afc..ee66ee817d1 100644 --- a/pkgs/development/python-modules/torchmetrics/default.nix +++ b/pkgs/development/python-modules/torchmetrics/default.nix @@ -14,6 +14,8 @@ , pytestCheckHook , torchmetrics , pytorch-lightning +, pytest-doctestplus +, pytest-xdist }: let @@ -22,10 +24,11 @@ let in buildPythonPackage { inherit pname version; + pyproject = true; src = fetchFromGitHub { - owner = "PyTorchLightning"; - repo = "metrics"; + owner = "Lightning-AI"; + repo = "torchmetrics"; rev = "refs/tags/v${version}"; hash = "sha256-g5JuTbiRd8yWx2nM3UE8ejOhuZ0XpAQdS5AC9AlrSFY="; }; @@ -51,22 +54,33 @@ buildPythonPackage { cloudpickle psutil pytestCheckHook + pytest-doctestplus + pytest-xdist ]; # A cyclic dependency in: integrations/test_lightning.py doCheck = false; passthru.tests.check = torchmetrics.overridePythonAttrs (_: { + pname = "${pname}-check"; doCheck = true; + # We don't have to install because the only purpose + # of this passthru test is to, well, test. + # This fixes having to set `catchConflicts` to false. + dontInstall = true; }); + disabledTests = [ + # `IndexError: list index out of range` + "test_metric_lightning_log" + ]; + disabledTestPaths = [ # These require too many "leftpad-level" dependencies - "tests/text" - "tests/audio" - "tests/image" + # Also too cross-dependent + "tests/unittests" - # A few non-deterministic things like test_check_compute_groups_is_faster - "tests/bases/test_collections.py" + # A trillion import path mismatch errors + "src/torchmetrics" ]; pythonImportsCheck = [ @@ -75,11 +89,10 @@ buildPythonPackage { meta = with lib; { description = "Machine learning metrics for distributed, scalable PyTorch applications (used in pytorch-lightning)"; - homepage = "https://torchmetrics.readthedocs.io"; + homepage = "https://lightning.ai/docs/torchmetrics/"; license = licenses.asl20; maintainers = with maintainers; [ SomeoneSerge ]; }; } - diff --git a/pkgs/servers/bazarr/default.nix b/pkgs/servers/bazarr/default.nix index ac9bdf70815..21904dc615a 100644 --- a/pkgs/servers/bazarr/default.nix +++ b/pkgs/servers/bazarr/default.nix @@ -58,6 +58,7 @@ stdenv.mkDerivation rec { sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.gpl3Only; maintainers = with maintainers; [ d-xo ]; + mainProgram = "bazarr"; platforms = platforms.all; }; } diff --git a/pkgs/servers/lidarr/default.nix b/pkgs/servers/lidarr/default.nix index 53050cfa7cc..daad39ee1cf 100644 --- a/pkgs/servers/lidarr/default.nix +++ b/pkgs/servers/lidarr/default.nix @@ -47,6 +47,7 @@ in stdenv.mkDerivation rec { homepage = "https://lidarr.audio/"; license = licenses.gpl3; maintainers = [ maintainers.etu ]; + mainProgram = "Lidarr"; platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ]; }; } diff --git a/pkgs/servers/radarr/default.nix b/pkgs/servers/radarr/default.nix index 7ea36b02479..ce5deb19de5 100644 --- a/pkgs/servers/radarr/default.nix +++ b/pkgs/servers/radarr/default.nix @@ -52,6 +52,7 @@ in stdenv.mkDerivation rec { changelog = "https://github.com/Radarr/Radarr/releases/tag/v${version}"; license = licenses.gpl3Only; maintainers = with maintainers; [ edwtjo purcell ]; + mainProgram = "Radarr"; platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; }; } diff --git a/pkgs/servers/readarr/default.nix b/pkgs/servers/readarr/default.nix index a2efdb1e1be..e41ec383a9b 100644 --- a/pkgs/servers/readarr/default.nix +++ b/pkgs/servers/readarr/default.nix @@ -46,6 +46,7 @@ in stdenv.mkDerivation rec { homepage = "https://readarr.com"; license = licenses.gpl3; maintainers = [ maintainers.jocelynthode ]; + mainProgram = "Readarr"; sourceProvenance = with lib.sourceTypes; [ binaryBytecode ]; platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ]; }; diff --git a/pkgs/servers/sonarr/default.nix b/pkgs/servers/sonarr/default.nix index ac5ae80cdc2..716a386c4fa 100644 --- a/pkgs/servers/sonarr/default.nix +++ b/pkgs/servers/sonarr/default.nix @@ -34,6 +34,7 @@ stdenv.mkDerivation rec { homepage = "https://sonarr.tv/"; license = lib.licenses.gpl3Only; maintainers = with lib.maintainers; [ fadenb purcell ]; + mainProgram = "NzbDrone"; platforms = lib.platforms.all; }; } diff --git a/pkgs/tools/video/recyclarr/default.nix b/pkgs/tools/video/recyclarr/default.nix index f3dce877553..c360d191064 100644 --- a/pkgs/tools/video/recyclarr/default.nix +++ b/pkgs/tools/video/recyclarr/default.nix @@ -83,6 +83,7 @@ stdenv.mkDerivation rec { changelog = "https://github.com/recyclarr/recyclarr/releases/tag/v${version}"; license = licenses.mit; maintainers = with maintainers; [ josephst ]; + mainProgram = "recyclarr"; platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; }; } diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 8d1c01c59bf..5bf99550ca3 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4160,7 +4160,9 @@ self: super: with self; { oelint-parser = callPackage ../development/python-modules/oelint-parser { }; - openllm = callPackage ../development/python-modules/openllm { }; + openllm = callPackage ../development/python-modules/openllm { + openai-triton = self.openai-triton-cuda; + }; openllm-client = callPackage ../development/python-modules/openllm-client { }; @@ -6662,8 +6664,7 @@ self: super: with self; { maya = callPackage ../development/python-modules/maya { }; mayavi = pkgs.libsForQt5.callPackage ../development/python-modules/mayavi { - inherit buildPythonPackage pythonOlder; - inherit (self) pyface pygments numpy packaging vtk traitsui envisage apptools pyqt5; + inherit (self) buildPythonPackage pythonOlder pythonAtLeast pyface pygments numpy packaging vtk traitsui envisage apptools pyqt5; }; mbddns = callPackage ../development/python-modules/mbddns { }; @@ -8424,12 +8425,24 @@ self: super: with self; { open-meteo = callPackage ../development/python-modules/open-meteo { }; - openai-triton = callPackage ../development/python-modules/openai-triton { cudaPackages = pkgs.cudaPackages_12_0; }; + openai-triton = callPackage ../development/python-modules/openai-triton { + llvm = pkgs.openai-triton-llvm; + cudaPackages = pkgs.cudaPackages_12_0; + }; + + openai-triton-cuda = self.openai-triton.override { + cudaSupport = true; + }; + + openai-triton-no-cuda = self.openai-triton.override { + cudaSupport = false; + }; openai-triton-bin = callPackage ../development/python-modules/openai-triton/bin.nix { }; openai-whisper = callPackage ../development/python-modules/openai-whisper { inherit (pkgs.config) cudaSupport; + openai-triton = self.openai-triton-cuda; }; openant = callPackage ../development/python-modules/openant { }; @@ -14057,6 +14070,7 @@ self: super: with self; { torchWithCuda = self.torch.override { magma = pkgs.magma-cuda-static; + openai-triton = self.openai-triton-cuda; cudaSupport = true; rocmSupport = false; }; @@ -14067,6 +14081,7 @@ self: super: with self; { torchWithRocm = self.torch.override { magma = pkgs.magma-hip; + openai-triton = self.openai-triton-no-cuda; rocmSupport = true; cudaSupport = false; }; @@ -15765,7 +15780,9 @@ self: super: with self; { inherit (pkgs) graphviz; }; - xformers = callPackage ../development/python-modules/xformers { }; + xformers = callPackage ../development/python-modules/xformers { + openai-triton = self.openai-triton-cuda; + }; xgboost = callPackage ../development/python-modules/xgboost { inherit (pkgs) xgboost; |