Unverified Commit 21c63bf6 authored by OTABI Tomoya's avatar OTABI Tomoya Committed by GitHub
Browse files

Merge pull request #313148 from natsukium/theano/drop

python311Packages.{theano,theano-pymc}: drop
parents 67980ec1 aae5de8a
Loading
Loading
Loading
Loading
+0 −51
Original line number Diff line number Diff line
{
  lib,
  fetchPypi,
  buildPythonPackage,
  pythonOlder,
  pandas,
  numpy,
  scipy,
  filelock,
  pytest,
  nose,
  parameterized,
}:

buildPythonPackage rec {
  pname = "theano-pymc";
  version = "1.1.2";
  format = "setuptools";
  disabled = pythonOlder "3.6";

  src = fetchPypi {
    pname = "Theano-PyMC";
    inherit version;
    sha256 = "5da6c2242ea72a991c8446d7fe7d35189ea346ef7d024c890397011114bf10fc";
  };

  # No need for coverage stats in Nix builds
  postPatch = ''
    substituteInPlace setup.py --replace ", 'pytest-cov'" ""
  '';

  propagatedBuildInputs = [
    pandas
    numpy
    scipy
    filelock
  ];

  # The test suite is computationally intensive and test failures are not
  # indicative for package usability hence tests are disabled by default.
  doCheck = false;
  pythonImportsCheck = [ "theano" ];

  meta = {
    description = "PyMC theano fork";
    homepage = "https://github.com/majidaldo/Theano-PyMC";
    license = lib.licenses.asl20;
    maintainers = with lib.maintainers; [ nidabdella ];
    broken = true;
  };
}
+0 −117
Original line number Diff line number Diff line
{
  lib,
  stdenv,
  runCommandCC,
  fetchPypi,
  buildPythonPackage,
  isPyPy,
  pythonOlder,
  isPy3k,
  nose,
  numpy,
  scipy,
  setuptools,
  six,
  libgpuarray,
  config,
  cudaSupport ? config.cudaSupport,
  cudaPackages ? { },
  cudnnSupport ? cudaSupport,
}:

let
  inherit (cudaPackages) cudatoolkit cudnn;
in

assert cudnnSupport -> cudaSupport;

let
  wrapped =
    command: buildTop: buildInputs:
    runCommandCC "${command}-wrapped" { inherit buildInputs; } ''
      type -P '${command}' || { echo '${command}: not found'; exit 1; }
      cat > "$out" <<EOF
      #!$(type -P bash)
      $(declare -xp | sed -e '/^[^=]\+="\('"''${NIX_STORE//\//\\/}"'\|[^\/]\)/!d')
      declare -x NIX_BUILD_TOP="${buildTop}"
      $(type -P '${command}') "\$@"
      EOF
      chmod +x "$out"
    '';

  # Theano spews warnings and disabled flags if the compiler isn't named g++
  cxx_compiler_name =
    if stdenv.cc.isGNU then
      "g++"
    else if stdenv.cc.isClang then
      "clang++"
    else
      throw "Unknown C++ compiler";
  cxx_compiler = wrapped cxx_compiler_name "\\$HOME/.theano" (
    lib.optional cudaSupport libgpuarray_ ++ lib.optional cudnnSupport cudnn
  );

  # We need to be careful with overriding Python packages within the package set
  # as this can lead to collisions!
  libgpuarray_ = libgpuarray.override { inherit cudaSupport cudaPackages; };
in
buildPythonPackage rec {
  pname = "theano";
  version = "1.0.5";
  format = "setuptools";

  disabled = isPyPy || pythonOlder "2.6";

  src = fetchPypi {
    inherit pname version;
    sha256 = "129f43ww2a6badfdr6b88kzjzz2b0wk0dwkvwb55z6dsagfkk53f";
  };

  postPatch =
    ''
      substituteInPlace theano/configdefaults.py \
        --replace 'StrParam(param, is_valid=warn_cxx)' 'StrParam('\'''${cxx_compiler}'\''', is_valid=warn_cxx)' \
        --replace 'rc == 0 and config.cxx != ""' 'config.cxx != ""'
    ''
    + lib.optionalString cudaSupport ''
      substituteInPlace theano/configdefaults.py \
        --replace 'StrParam(get_cuda_root)' 'StrParam('\'''${cudatoolkit}'\''')'
    ''
    + lib.optionalString cudnnSupport ''
      substituteInPlace theano/configdefaults.py \
        --replace 'StrParam(default_dnn_base_path)' 'StrParam('\'''${cudnn}'\''')'
    '';

  # needs to be postFixup so it runs before pythonImportsCheck even when
  # doCheck = false (meaning preCheck would be disabled)
  postFixup = ''
    mkdir -p check-phase
    export HOME=$(pwd)/check-phase
  '';
  doCheck = false;
  # takes far too long, also throws "TypeError: sort() missing 1 required positional argument: 'a'"
  # when run from the installer, and testing with Python 3.5 hits github.com/Theano/Theano/issues/4276,
  # the fix for which hasn't been merged yet.

  # keep Nose around since running the tests by hand is possible from Python or bash
  nativeCheckInputs = [ nose ];
  # setuptools needed for cuda support
  propagatedBuildInputs = [
    libgpuarray_
    numpy
    numpy.blas
    scipy
    setuptools
    six
  ];

  pythonImportsCheck = [ "theano" ];

  meta = with lib; {
    homepage = "https://github.com/Theano/Theano";
    description = "A Python library for large-scale array computation";
    license = licenses.bsd3;
    maintainers = [ ];
    broken = true;
  };
}
+4 −0
Original line number Diff line number Diff line
@@ -531,6 +531,10 @@ mapAliases ({
  Theano = theano; # added 2023-02-19
  TheanoWithCuda = theanoWithCuda; # added 2023-02-19
  TheanoWithoutCuda = theanoWithoutCuda; # added 2023-02-19
  theano = throw "theano has been removed because it is no longer maintained"; # added 2024-05-20
  theanoWithCuda = throw "theano has been removed because it is no longer maintained"; # added 2024-05-20
  theanoWithoutCuda = throw "theano has been removed because it is no longer maintained"; # added 2024-05-20
  theano-pymc = throw "theano-pymc has been removed because it is no longer maintained"; # added 2024-05-20
  thumborPexif = throw "thumborPexif has been removed, because it was unused."; # added 2024-01-07
  torchgpipe = throw "torchgpipe has been removed, because it appears unmaintained and Pytorch now includes pipeline parallelism support"; # added 2024-05-18
  torrent_parser = torrent-parser; # added 2023-11-04
+0 −17
Original line number Diff line number Diff line
@@ -15105,23 +15105,6 @@ self: super: with self; {
  tgcrypto = callPackage ../development/python-modules/tgcrypto { };
  theano-pymc = callPackage ../development/python-modules/theano-pymc { };
  theano = callPackage ../development/python-modules/theano rec {
    inherit (pkgs.config) cudaSupport;
    cudnnSupport = cudaSupport;
  };
  theanoWithCuda = self.theano.override {
    cudaSupport = true;
    cudnnSupport = true;
  };
  theanoWithoutCuda = self.theano.override {
    cudaSupport = false;
    cudnnSupport = false;
  };
  thefuzz = callPackage ../development/python-modules/thefuzz { };
  thelogrus = callPackage ../development/python-modules/thelogrus { };