Merge pull request #67787 from jonringer/add-python3-dotnetcore2

python3Packages.dotnetcore2: init at 2.1.8.1
This commit is contained in:
Mario Rodas 2019-09-24 15:58:36 -05:00 committed by GitHub
commit 55bed3d062
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 82 additions and 0 deletions

View file

@ -0,0 +1,59 @@
{ stdenv, lib, buildPythonPackage, fetchPypi, python, isPy27
, dotnet-sdk
, substituteAll
, distro
, unzip
}:
buildPythonPackage rec {
pname = "dotnetcore2";
version = "2.1.8.1";
format = "wheel";
disabled = isPy27;
src = fetchPypi {
inherit pname version format;
python = "py3";
platform = "manylinux1_x86_64";
sha256 = "13zrff5j767d3f8drl397sjhl28winsrfa8pa20svf00xfcsy34s";
};
nativeBuildInputs = [ unzip ];
propagatedBuildInputs = [ distro ];
# needed to apply patches
prePatch = ''
unzip dist/dotnet*
'';
patches = [
( substituteAll {
src = ./runtime.patch;
dotnet = dotnet-sdk;
}
)
];
# unfortunately the noraml pip install fails because the manylinux1 format check fails with NixOS
installPhase = ''
mkdir -p $out/${python.sitePackages}/${pname}
# copy metadata
cp -r dotnetcore2-2* $out/${python.sitePackages}
# copy non-dotnetcore related files
cp -r dotnetcore2/{__init__.py,runtime.py} $out/${python.sitePackages}/${pname}
'';
# no tests, ensure it's one useful function works
checkPhase = ''
${python.interpreter} -c 'from dotnetcore2 import runtime; print(runtime.get_runtime_path())'
'';
meta = with lib; {
description = "DotNet Core runtime";
homepage = "https://github.com/dotnet/core";
license = licenses.mit;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ jonringer ];
};
}

View file

@ -0,0 +1,19 @@
diff a/dotnetcore2/runtime.py b/dotnetcore2/runtime.py
--- a/dotnetcore2/runtime.py
+++ b/dotnetcore2/runtime.py
@@ -39,13 +39,13 @@ def _get_bin_folder() -> str:
def get_runtime_path():
+ return "@dotnet@/dotnet"
search_string = os.path.join(_get_bin_folder(), 'dotnet*')
matches = [f for f in glob.glob(search_string, recursive=True)]
return matches[0]
def ensure_dependencies() -> Optional[str]:
- if dist is None:
- return None
+ return None
bin_folder = _get_bin_folder()
deps_path = os.path.join(bin_folder, 'deps')

View file

@ -523,6 +523,10 @@ in {
dominate = callPackage ../development/python-modules/dominate { };
dotnetcore2 = callPackage ../development/python-modules/dotnetcore2 {
inherit (pkgs) substituteAll dotnet-sdk;
};
emcee = callPackage ../development/python-modules/emcee { };
emailthreads = callPackage ../development/python-modules/emailthreads { };