diff options
| author | Malo Bourgon <mbourgon@gmail.com> | 2022-06-15 12:44:17 -0700 |
|---|---|---|
| committer | github-actions[bot] <github-actions[bot]@users.noreply.github.com> | 2022-06-17 14:40:25 +0000 |
| commit | a4fa94965acf7b15d15816f5705d43e6afd08447 (patch) | |
| tree | 639caa074155ee841d017ca9e631163fec5f0182 | |
| parent | Merge pull request #177990 from Ma27/backport-element (diff) | |
| download | nixpkgs-origin/backport-177812-to-release-22.05.tar.gz | |
python3Packages.pytorch: unbreak on Darwinorigin/backport-177812-to-release-22.05
* Add missing `buildInputs`.
* Enable Grand Central Dispatch support for `aarch64-darwin`.
* Remove `postFixup` steps for .dylib files that aren't present.
(cherry picked from commit c1d5efbee20eaf5a2748dbb5e08eaf304b7b3f34)
| -rw-r--r-- | pkgs/development/python-modules/pytorch/default.nix | 20 | ||||
| -rw-r--r-- | pkgs/top-level/python-packages.nix | 2 |
2 files changed, 8 insertions, 14 deletions
diff --git a/pkgs/development/python-modules/pytorch/default.nix b/pkgs/development/python-modules/pytorch/default.nix index d6e78c31d753..699b135bd7b6 100644 --- a/pkgs/development/python-modules/pytorch/default.nix +++ b/pkgs/development/python-modules/pytorch/default.nix @@ -10,6 +10,7 @@ # Build inputs numactl, + CoreServices, libobjc, # Propagated build inputs numpy, pyyaml, cffi, click, typing-extensions, @@ -145,7 +146,7 @@ in buildPythonPackage rec { # https://github.com/pytorch/pytorch/issues/70297 # https://github.com/google/breakpad/commit/605c51ed96ad44b34c457bbca320e74e194c317e ./breakpad-sigstksz.patch - ] ++ lib.optionals stdenv.isDarwin [ + ] ++ lib.optionals (stdenv.isDarwin && stdenv.isx86_64) [ # pthreadpool added support for Grand Central Dispatch in April # 2020. However, this relies on functionality (DISPATCH_APPLY_AUTO) # that is available starting with macOS 10.13. However, our current @@ -225,7 +226,8 @@ in buildPythonPackage rec { buildInputs = [ blas blas.provider ] ++ lib.optionals cudaSupport [ cudnn magma nccl ] - ++ lib.optionals stdenv.isLinux [ numactl ]; + ++ lib.optionals stdenv.isLinux [ numactl ] + ++ lib.optionals stdenv.isDarwin [ CoreServices libobjc ]; propagatedBuildInputs = [ cffi @@ -291,15 +293,6 @@ in buildPythonPackage rec { install_name_tool -change @rpath/libc10.dylib $lib/lib/libc10.dylib $lib/lib/libtorch.dylib - install_name_tool -change @rpath/libtorch.dylib $lib/lib/libtorch.dylib $lib/lib/libcaffe2_observers.dylib - install_name_tool -change @rpath/libc10.dylib $lib/lib/libc10.dylib $lib/lib/libcaffe2_observers.dylib - - install_name_tool -change @rpath/libtorch.dylib $lib/lib/libtorch.dylib $lib/lib/libcaffe2_module_test_dynamic.dylib - install_name_tool -change @rpath/libc10.dylib $lib/lib/libc10.dylib $lib/lib/libcaffe2_module_test_dynamic.dylib - - install_name_tool -change @rpath/libtorch.dylib $lib/lib/libtorch.dylib $lib/lib/libcaffe2_detectron_ops.dylib - install_name_tool -change @rpath/libc10.dylib $lib/lib/libc10.dylib $lib/lib/libcaffe2_detectron_ops.dylib - install_name_tool -change @rpath/libtorch.dylib $lib/lib/libtorch.dylib $lib/lib/libshm.dylib install_name_tool -change @rpath/libc10.dylib $lib/lib/libc10.dylib $lib/lib/libshm.dylib ''; @@ -315,12 +308,11 @@ in buildPythonPackage rec { }; meta = with lib; { - # darwin: error: use of undeclared identifier 'noU'; did you mean 'no'? - broken = (stdenv.isLinux && stdenv.isAarch64) || stdenv.isDarwin; description = "Open source, prototype-to-production deep learning platform"; homepage = "https://pytorch.org/"; license = licenses.bsd3; - platforms = with platforms; linux ++ lib.optionals (!cudaSupport) darwin; maintainers = with maintainers; [ teh thoughtpolice tscholak ]; # tscholak esp. for darwin-related builds + platforms = with platforms; linux ++ lib.optionals (!cudaSupport) darwin; + broken = stdenv.isLinux && stdenv.isAarch64; }; } diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 0010a67d1a5d..8543259d638c 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8629,6 +8629,8 @@ in { pytorch = callPackage ../development/python-modules/pytorch { cudaSupport = pkgs.config.cudaSupport or false; + inherit (pkgs.darwin.apple_sdk.frameworks) CoreServices; + inherit (pkgs.darwin) libobjc; }; pytorch-bin = callPackage ../development/python-modules/pytorch/bin.nix { }; |
