diff options
Diffstat (limited to 'pkgs/development')
9 files changed, 121 insertions, 32 deletions
diff --git a/pkgs/development/compilers/circt/circt-llvm.nix b/pkgs/development/compilers/circt/circt-llvm.nix index efde87b0789cb..0043702fd8470 100644 --- a/pkgs/development/compilers/circt/circt-llvm.nix +++ b/pkgs/development/compilers/circt/circt-llvm.nix @@ -1,4 +1,5 @@ -{ stdenv +{ lib +, stdenv , cmake , ninja , circt @@ -31,6 +32,14 @@ outputs = [ "out" "lib" "dev" ]; + # Get rid of ${extra_libdir} (which ends up containing a path to circt-llvm.dev + # in circt) so that we only have to remove the one fixed rpath. + postPatch = lib.optionalString stdenv.isDarwin '' + substituteInPlace llvm/llvm/cmake/modules/AddLLVM.cmake \ + --replace-fail 'set(_install_rpath "@loader_path/../lib''${LLVM_LIBDIR_SUFFIX}" ''${extra_libdir})' \ + 'set(_install_rpath "@loader_path/../lib''${LLVM_LIBDIR_SUFFIX}")' + ''; + postInstall = '' # move llvm-config to $dev to resolve a circular dependency moveToOutput "bin/llvm-config*" "$dev" @@ -50,6 +59,30 @@ --replace "$out/bin/llvm-config" "$dev/bin/llvm-config" # patch path for llvm-config ''; + # Replace all references to @rpath with absolute paths and remove the rpaths. + # + # This is different from what the regular LLVM package does, which is to make + # everything absolute from the start: however, that doesn't work for us because + # we have `-DBUILD_SHARED_LIBS=ON`, meaning that many more things are + # dynamically rather than statically linked. This includes TableGen, which then + # fails to run halfway through the build because it tries to reference $lib when + # it hasn't been populated yet. + # + # Inspired by fixDarwinDylibNames. + postFixup = lib.optionalString stdenv.isDarwin '' + local flags=(-delete_rpath @loader_path/../lib) + for file in "$lib"/lib/*.dylib; do + flags+=(-change @rpath/"$(basename "$file")" "$file") + done + + for file in "$out"/bin/* "$lib"/lib/*.dylib; do + if [ -L "$file" ]; then continue; fi + echo "$file: fixing dylib references" + # note that -id does nothing on binaries + install_name_tool -id "$file" "''${flags[@]}" "$file" + done + ''; + # circt only use the mlir part of llvm, occasionally there are some unrelated failure from llvm, # disable the llvm check, but keep the circt check enabled. doCheck = false; diff --git a/pkgs/development/compilers/circt/default.nix b/pkgs/development/compilers/circt/default.nix index 2b9f64bb6b20b..4b572a33bb85f 100644 --- a/pkgs/development/compilers/circt/default.nix +++ b/pkgs/development/compilers/circt/default.nix @@ -67,6 +67,13 @@ stdenv.mkDerivation rec { outputs = [ "out" "lib" "dev" ]; + # Copy circt-llvm's postFixup stage so that it can make all our dylib references + # absolute as well. + # + # We don't need `postPatch` because circt seems to be automatically inheriting + # the config somehow, presumably via. `-DMLIR_DIR`. + postFixup = circt-llvm.postFixup; + postInstall = '' moveToOutput lib "$lib" ''; diff --git a/pkgs/development/python-modules/spsdk/default.nix b/pkgs/development/python-modules/spsdk/default.nix index b64ef4a3d910f..35b10ef7c97ce 100644 --- a/pkgs/development/python-modules/spsdk/default.nix +++ b/pkgs/development/python-modules/spsdk/default.nix @@ -107,7 +107,6 @@ buildPythonPackage rec { passthru.tests.version = testers.testVersion { package = spsdk; }; meta = with lib; { - broken = versionAtLeast cryptography.version "41.1"; changelog = "https://github.com/nxp-mcuxpresso/spsdk/blob/${src.rev}/docs/release_notes.rst"; description = "NXP Secure Provisioning SDK"; homepage = "https://github.com/nxp-mcuxpresso/spsdk"; diff --git a/pkgs/development/python-modules/torch/default.nix b/pkgs/development/python-modules/torch/default.nix index d8d3a6532a504..452b2f8598ec2 100644 --- a/pkgs/development/python-modules/torch/default.nix +++ b/pkgs/development/python-modules/torch/default.nix @@ -495,7 +495,7 @@ in buildPythonPackage rec { requiredSystemFeatures = [ "big-parallel" ]; passthru = { - inherit cudaSupport cudaPackages; + inherit cudaSupport cudaPackages rocmSupport rocmPackages; # At least for 1.10.2 `torch.fft` is unavailable unless BLAS provider is MKL. This attribute allows for easy detection of its availability. blasProvider = blas.provider; # To help debug when a package is broken due to CUDA support diff --git a/pkgs/development/python-modules/torchaudio/default.nix b/pkgs/development/python-modules/torchaudio/default.nix index ff56db53a675f..2ad66d1691a43 100644 --- a/pkgs/development/python-modules/torchaudio/default.nix +++ b/pkgs/development/python-modules/torchaudio/default.nix @@ -9,10 +9,46 @@ , pybind11 , sox , torch + , cudaSupport ? torch.cudaSupport , cudaPackages +, rocmSupport ? torch.rocmSupport +, rocmPackages + +, gpuTargets ? [] }: +let + # TODO: Reuse one defined in torch? + # Some of those dependencies are probbly not required, + # but it breaks when the store path is different between torch and torchaudio + rocmtoolkit_joined = symlinkJoin { + name = "rocm-merged"; + + paths = with rocmPackages; [ + rocm-core clr rccl miopen miopengemm rocrand rocblas + rocsparse hipsparse rocthrust rocprim hipcub roctracer + rocfft rocsolver hipfft hipsolver hipblas + rocminfo rocm-thunk rocm-comgr rocm-device-libs + rocm-runtime clr.icd hipify + ]; + + # Fix `setuptools` not being found + postBuild = '' + rm -rf $out/nix-support + ''; + }; + # Only used for ROCm + gpuTargetString = lib.strings.concatStringsSep ";" ( + if gpuTargets != [ ] then + # If gpuTargets is specified, it always takes priority. + gpuTargets + else if rocmSupport then + rocmPackages.clr.gpuTargets + else + throw "No GPU targets specified" + ); +in buildPythonPackage rec { pname = "torchaudio"; version = "2.3.0"; @@ -33,6 +69,11 @@ buildPythonPackage rec { substituteInPlace setup.py \ --replace 'print(" --- Initializing submodules")' "return" \ --replace "_fetch_archives(_parse_sources())" "pass" + '' + + lib.optionalString rocmSupport '' + # There is no .info/version-dev, only .info/version + substituteInPlace cmake/LoadHIP.cmake \ + --replace "/.info/version-dev" "/.info/version" ''; env = { @@ -55,7 +96,11 @@ buildPythonPackage rec { ninja ] ++ lib.optionals cudaSupport [ cudaPackages.cuda_nvcc - ]; + ] ++ lib.optionals rocmSupport (with rocmPackages; [ + clr + rocblas + hipblas + ]); buildInputs = [ ffmpeg-full @@ -73,6 +118,11 @@ buildPythonPackage rec { BUILD_RNNT=0; BUILD_CTC_DECODER=0; + preConfigure = lib.optionalString rocmSupport '' + export ROCM_PATH=${rocmtoolkit_joined} + export PYTORCH_ROCM_ARCH="${gpuTargetString}" + ''; + dontUseCmakeConfigure = true; doCheck = false; # requires sox backend diff --git a/pkgs/development/tools/continuous-integration/buildbot/master.nix b/pkgs/development/tools/continuous-integration/buildbot/master.nix index 8de60461f7303..7bf5eeab82ec4 100644 --- a/pkgs/development/tools/continuous-integration/buildbot/master.nix +++ b/pkgs/development/tools/continuous-integration/buildbot/master.nix @@ -72,14 +72,14 @@ let in buildPythonApplication rec { pname = "buildbot"; - version = "3.11.1"; + version = "3.11.2"; format = "pyproject"; disabled = pythonOlder "3.8"; src = fetchPypi { inherit pname version; - hash = "sha256-ruYW1sVoGvFMi+NS+xiNsn0Iq2RmKlax4bxHgYrj6ZY="; + hash = "sha256-x7RaApfIe1x7Py1KLQCcotxU6dJRXTOk67W+QOhNJf0="; }; build-system = [ diff --git a/pkgs/development/tools/continuous-integration/buildbot/pkg.nix b/pkgs/development/tools/continuous-integration/buildbot/pkg.nix index 4ccdb66d7b110..d121ec68cbded 100644 --- a/pkgs/development/tools/continuous-integration/buildbot/pkg.nix +++ b/pkgs/development/tools/continuous-integration/buildbot/pkg.nix @@ -1,12 +1,12 @@ { lib, buildPythonPackage, fetchPypi, isPy3k, buildbot }: buildPythonPackage rec { - pname = "buildbot-pkg"; + pname = "buildbot_pkg"; inherit (buildbot) version; src = fetchPypi { inherit pname version; - hash = "sha256-cfPsNnR0gEgz1y/GNR6faixk2HyuHaRh1E9nGHjCb58="; + hash = "sha256-ZgDHPC2j3vV3m7wBZhUUh/Th/oGKq+8RxnfQ71Cr6oY="; }; postPatch = '' diff --git a/pkgs/development/tools/continuous-integration/buildbot/plugins.nix b/pkgs/development/tools/continuous-integration/buildbot/plugins.nix index b84e42c1bee70..ade8f2e243d47 100644 --- a/pkgs/development/tools/continuous-integration/buildbot/plugins.nix +++ b/pkgs/development/tools/continuous-integration/buildbot/plugins.nix @@ -3,12 +3,12 @@ # this is exposed for potential plugins to use and for nix-update inherit buildbot-pkg; www = buildPythonPackage rec { - pname = "buildbot-www"; + pname = "buildbot_www"; inherit (buildbot-pkg) version; src = fetchPypi { inherit pname version; - hash = "sha256-5q4N76XHUhvc2lIqup0dYwrEdI5bR/96N7m2rhvPJh4="; + hash = "sha256-xOsz71kprzKKqvvwpsZTACWf4z+Svx9BQ72xGEZXKdw="; }; # Remove unnecessary circular dependency on buildbot @@ -30,12 +30,12 @@ }; www-react = buildPythonPackage rec { - pname = "buildbot-www-react"; + pname = "buildbot_www_react"; inherit (buildbot-pkg) version; src = fetchPypi { inherit pname version; - hash = "sha256-kjow5WksdBzeo8nwXk5Djm/4tym8XvMo+VgiqSSAyKk="; + hash = "sha256-wUiMEAFmqjHXPjnPhsaLWqxvOXyEQIeRBL4W3LB3vkw="; }; # Remove unnecessary circular dependency on buildbot @@ -57,12 +57,12 @@ }; console-view = buildPythonPackage rec { - pname = "buildbot-console-view"; + pname = "buildbot_console_view"; inherit (buildbot-pkg) version; src = fetchPypi { inherit pname version; - hash = "sha256-IrXDwO0YSpiZfw6B/lorEQdbAIZ5qCja75L/PFRmJms="; + hash = "sha256-KerHS5F4b30TvlGeSf6QLUt49S6Iki7O5nex6KPypJY="; }; buildInputs = [ buildbot-pkg ]; @@ -79,12 +79,12 @@ }; react-console-view = buildPythonPackage rec { - pname = "buildbot-react-console-view"; + pname = "buildbot_react_console_view"; inherit (buildbot-pkg) version; src = fetchPypi { inherit pname version; - hash = "sha256-ZkUsAN56OEI/SphQydv4HkVV6Eobd0pd+UbXa23mBfQ="; + hash = "sha256-XrywoVM2ErJ4i7WrRKPRaCOwt5JVDJT6xP7L/Dfv+gk="; }; buildInputs = [ buildbot-pkg ]; @@ -101,12 +101,12 @@ }; waterfall-view = buildPythonPackage rec { - pname = "buildbot-waterfall-view"; + pname = "buildbot_waterfall_view"; inherit (buildbot-pkg) version; src = fetchPypi { inherit pname version; - hash = "sha256-qL1+bpgxflcRTFPOvDHKdHilio28bbHClqy1Um4Se+o="; + hash = "sha256-mhVbuOhe0BrXHbn8bd41Q7I8Xak7fO8ahIK0r113vGY="; }; buildInputs = [ buildbot-pkg ]; @@ -123,12 +123,12 @@ }; react-waterfall-view = buildPythonPackage rec { - pname = "buildbot-react-waterfall-view"; + pname = "buildbot_react_waterfall_view"; inherit (buildbot-pkg) version; src = fetchPypi { inherit pname version; - hash = "sha256-5D0N/5Sf8YNQBKt8GzAk1htdEY/xOmE5Abt5y7P9h34="; + hash = "sha256-X89XrjdD0GL7MabLWtkQcdCa4Ain1AGre6mXF/inmck="; }; buildInputs = [ buildbot-pkg ]; @@ -145,12 +145,12 @@ }; grid-view = buildPythonPackage rec { - pname = "buildbot-grid-view"; + pname = "buildbot_grid_view"; inherit (buildbot-pkg) version; src = fetchPypi { inherit pname version; - hash = "sha256-snyJbQZqSIqOk6dTJidSv1VmE/Gn+pblcZs8BpZ+fdA="; + hash = "sha256-YH5SfYuW07Pp00LoBvcDB8MiHB1HzYWg5kQVICrkS5s="; }; buildInputs = [ buildbot-pkg ]; @@ -167,12 +167,12 @@ }; react-grid-view = buildPythonPackage rec { - pname = "buildbot-react-grid-view"; + pname = "buildbot_react_grid_view"; inherit (buildbot-pkg) version; src = fetchPypi { inherit pname version; - hash = "sha256-0Ggm3NQn1ZZfMsMqf1qdCD1+HkJZmM1p+TqOPF0Q9CE="; + hash = "sha256-rmyAsFCTeIYPdrlWDCxlbjw+BCKwcIaTHlK8KJP0T88="; }; buildInputs = [ buildbot-pkg ]; @@ -189,12 +189,12 @@ }; wsgi-dashboards = buildPythonPackage rec { - pname = "buildbot-wsgi-dashboards"; + pname = "buildbot_wsgi_dashboards"; inherit (buildbot-pkg) version; src = fetchPypi { inherit pname version; - hash = "sha256-rBUrYSeAWrxn5mlXaAAtE58jIZVLs/q69ARY2u6rTsI="; + hash = "sha256-Ls3NJka5vVTx1GW9bnr3jlulj7/pNkX9omXrTIWrwtU="; }; buildInputs = [ buildbot-pkg ]; @@ -211,12 +211,12 @@ }; react-wsgi-dashboards = buildPythonPackage rec { - pname = "buildbot-react-wsgi-dashboards"; + pname = "buildbot_react_wsgi_dashboards"; inherit (buildbot-pkg) version; src = fetchPypi { inherit pname version; - hash = "sha256-U0DHWFMmvTKFBW1C5bnoemjMOKpw1H3GXnBn/AU52vY="; + hash = "sha256-t3LLZJ+kPcowqSyeRcuH3kEjBEiju1MI0z1qhU6KPBs="; }; buildInputs = [ buildbot-pkg ]; @@ -233,12 +233,12 @@ }; badges = buildPythonPackage rec { - pname = "buildbot-badges"; + pname = "buildbot_badges"; inherit (buildbot-pkg) version; src = fetchPypi { inherit pname version; - hash = "sha256-7t4E7twn4TeJJCE5Vn83UzIRE2Okvcox2us1d8j50Os="; + hash = "sha256-//MftUqUWE2+RpxRPzDEH7tOCN2D1HD8dETZw1OQe5s="; }; buildInputs = [ buildbot-pkg ]; diff --git a/pkgs/development/tools/continuous-integration/buildbot/worker.nix b/pkgs/development/tools/continuous-integration/buildbot/worker.nix index 1b73737e42cbc..80e255153b778 100644 --- a/pkgs/development/tools/continuous-integration/buildbot/worker.nix +++ b/pkgs/development/tools/continuous-integration/buildbot/worker.nix @@ -23,12 +23,12 @@ }: buildPythonPackage (rec { - pname = "buildbot-worker"; + pname = "buildbot_worker"; inherit (buildbot) version; src = fetchPypi { inherit pname version; - hash = "sha256-hRsmgP8IiWg5+YCqMVYgZc4ljWwz7YWfAFrmMHx8wBY="; + hash = "sha256-7DAo1Yy20FeWXawV4wHzXDGtgyIGDJQuD2joJma96rM="; }; postPatch = '' |