Skip to content

Commit

Permalink
conda: init at miniconda3 4.3.31 (#34872)
Browse files Browse the repository at this point in the history
* conda: init at miniconda3 4.3.31
  • Loading branch information
bhipple authored and FRidh committed Feb 18, 2018
1 parent c64639b commit 5ab4287
Show file tree
Hide file tree
Showing 2 changed files with 75 additions and 2 deletions.
71 changes: 71 additions & 0 deletions pkgs/tools/package-management/conda/default.nix
@@ -0,0 +1,71 @@
{ lib
, stdenv
, fetchurl
, runCommand
, makeWrapper
, buildFHSUserEnv
, libselinux
, xorg
# Conda installs its packages and environments under this directory
, installationPath ? "~/.conda"
# Conda manages most pkgs itself, but expects a few to be on the system.
, condaDeps ? [ stdenv.cc xorg.libSM xorg.libICE xorg.libXrender libselinux ]
# Any extra nixpkgs you'd like available in the FHS env for Conda to use
, extraPkgs ? [ ]
}:

# How to use this package?
#
# First-time setup: this nixpkg downloads the conda installer and provides a FHS
# env in which it can run. On first use, the user will need to install conda to
# the installPath using the installer:
# $ nix-env -iA conda
# $ conda-shell
# $ conda-install
#
# Under normal usage, simply call `conda-shell` to activate the FHS env,
# and then use conda commands as normal:
# $ conda-shell
# $ conda install spyder
let
version = "4.3.31";
src = fetchurl {
url = "https://repo.continuum.io/miniconda/Miniconda3-${version}-Linux-x86_64.sh";
sha256 = "1rklq81s9v7xz1q0ha99w2sl6kyc5vhk6b21cza0jr3b8cgz0lam";
};

conda = runCommand "conda-install" { buildInputs = [ makeWrapper ]; }
''
mkdir -p $out/bin
cp ${src} $out/bin/miniconda-installer.sh
chmod +x $out/bin/miniconda-installer.sh
makeWrapper \
$out/bin/miniconda-installer.sh \
$out/bin/conda-install \
--add-flags "-p ${installationPath}" \
--add-flags "-b"
'';
in
buildFHSUserEnv {
name = "conda-shell";
targetPkgs = pkgs: (builtins.concatLists [ [ conda ] condaDeps extraPkgs]);
profile = ''
# Add conda to PATH
export PATH=${installationPath}/bin:$PATH
# Paths for gcc if compiling some C sources with pip
export NIX_CFLAGS_COMPILE="-I${installationPath}/include"
export NIX_CFLAGS_LINK="-L${installationPath}lib"
# Some other required environment variables
export FONTCONFIG_FILE=/etc/fonts/fonts.conf
export QTCOMPOSE=${xorg.libX11}/share/X11/locale
'';

meta = {
description = "Conda is a package manager for Python";
homepage = https://conda.io/;
platforms = lib.platforms.linux;
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ jluttine bhipple ];
};
}
6 changes: 4 additions & 2 deletions pkgs/top-level/all-packages.nix
Expand Up @@ -1681,6 +1681,8 @@ with pkgs;

checkbashisms = callPackage ../development/tools/misc/checkbashisms { };

ckb = libsForQt5.callPackage ../tools/misc/ckb { };

clamav = callPackage ../tools/security/clamav { };

clex = callPackage ../tools/misc/clex { };
Expand All @@ -1703,10 +1705,10 @@ with pkgs;

cloud-utils = callPackage ../tools/misc/cloud-utils { };

ckb = libsForQt5.callPackage ../tools/misc/ckb { };

compass = callPackage ../development/tools/compass { };

conda = callPackage ../tools/package-management/conda { };

convmv = callPackage ../tools/misc/convmv { };

convoy = callPackage ../tools/filesystems/convoy { };
Expand Down

0 comments on commit 5ab4287

Please sign in to comment.