summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMalo Bourgon <mbourgon@gmail.com>2022-06-15 12:44:17 -0700
committergithub-actions[bot] <github-actions[bot]@users.noreply.github.com>2022-06-17 14:40:25 +0000
commita4fa94965acf7b15d15816f5705d43e6afd08447 (patch)
tree639caa074155ee841d017ca9e631163fec5f0182
parentMerge pull request #177990 from Ma27/backport-element (diff)
downloadnixpkgs-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.nix20
-rw-r--r--pkgs/top-level/python-packages.nix2
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 { };