update Anaconda

This commit is contained in:
Sebastien Bourdeauducq 2021-07-05 15:21:53 +08:00
parent 4f37c250f4
commit db1bd9d5ae
1 changed files with 12 additions and 5 deletions

View File

@ -3,14 +3,21 @@
with pkgs; with pkgs;
let let
condaDeps = [ stdenv.cc xorg.libSM xorg.libICE xorg.libX11 xorg.libXau xorg.libXi xorg.libXrender libselinux libGL ]; condaDeps = [ stdenv.cc zlib xorg.libSM xorg.libICE xorg.libX11 xorg.libXau xorg.libXi xorg.libXrender libselinux libGL ];
# Use the full Anaconda distribution, which already contains conda-build and its many dependencies, # Use the full Anaconda distribution, which already contains conda-build and its many dependencies,
# so we don't have to manually deal with them. # so we don't have to manually deal with them.
condaInstaller = fetchurl { condaInstaller = fetchurl {
url = "https://repo.anaconda.com/archive/Anaconda3-2019.03-Linux-x86_64.sh"; url = "https://repo.anaconda.com/archive/Anaconda3-2021.05-Linux-x86_64.sh";
sha256 = "0fmpdd5876ylds98mydmv5klnwlzasa461k0l1f4vhbw96vm3j25"; sha256 = "0lrxwd3pwz8k3jxwgkd9x47wgkqqy9s8m7hgx1x2gw4gcwysnl97";
}; };
condaSrcChmod = runCommand "conda-src-chmod" { } "mkdir $out; cp ${condaInstaller} $out/conda-installer.sh; chmod +x $out/conda-installer.sh"; condaSrcChmod = runCommand "conda-src-chmod" { }
''
mkdir $out
cp ${condaInstaller} $out/conda-installer.sh
chmod +x $out/conda-installer.sh
# keep the same file length to avoid breaking embedded payload offsets
sed -i 0,/unset\ LD_LIBRARY_PATH/s//\#nset\ LD_LIBRARY_PATH/ $out/conda-installer.sh
'';
condaInstallerEnv = buildFHSUserEnv { condaInstallerEnv = buildFHSUserEnv {
name = "conda-installer-env"; name = "conda-installer-env";
targetPkgs = pkgs: ([ condaSrcChmod ] ++ condaDeps); targetPkgs = pkgs: ([ condaSrcChmod ] ++ condaDeps);
@ -26,7 +33,7 @@ let
condaInstalled = runCommand "conda-installed" { } condaInstalled = runCommand "conda-installed" { }
'' ''
${condaInstallerEnv}/bin/conda-installer-env -c "${condaSrcChmod}/conda-installer.sh -p $out -b" ${condaInstallerEnv}/bin/conda-installer-env -c "${condaSrcChmod}/conda-installer.sh -p $out -b"
substituteInPlace $out/lib/python3.7/site-packages/conda/gateways/disk/__init__.py \ substituteInPlace $out/lib/python3.8/site-packages/conda/gateways/disk/__init__.py \
--replace "os.chmod(path, 0o2775)" "pass" --replace "os.chmod(path, 0o2775)" "pass"
# The conda garbage breaks if the package filename is prefixed with the Nix store hash. # The conda garbage breaks if the package filename is prefixed with the Nix store hash.