summaryrefslogtreecommitdiff
path: root/pkgs/development/python-modules/pythonnet
diff options
context:
space:
mode:
authorRaymond Gauthier <jraygauthier@gmail.com>2018-02-05 16:58:25 -0500
committerRaymond Gauthier <jraygauthier@gmail.com>2018-02-08 21:29:36 -0500
commit1d1209381a04594678694b2d32723fce68de4910 (patch)
tree86e0411b51f3dd15e2e65cfe0793454033daa097 /pkgs/development/python-modules/pythonnet
parent78a17f5765f24ae24ee87224dad16862451295d2 (diff)
pythonnet: Init at 2.3.0
Diffstat (limited to 'pkgs/development/python-modules/pythonnet')
-rw-r--r--pkgs/development/python-modules/pythonnet/default.nix84
1 files changed, 84 insertions, 0 deletions
diff --git a/pkgs/development/python-modules/pythonnet/default.nix b/pkgs/development/python-modules/pythonnet/default.nix
new file mode 100644
index 000000000000..98f714c8d538
--- /dev/null
+++ b/pkgs/development/python-modules/pythonnet/default.nix
@@ -0,0 +1,84 @@
+{ lib
+, fetchPypi
+, fetchNuGet
+, buildPythonPackage
+, python
+, pytest
+, pycparser
+, pkgconfig
+, dotnetbuildhelpers
+, clang
+, mono
+}:
+
+let
+
+ UnmanagedExports127 = fetchNuGet {
+ baseName = "UnmanagedExports";
+ version = "1.2.7";
+ sha256 = "0bfrhpmq556p0swd9ssapw4f2aafmgp930jgf00sy89hzg2bfijf";
+ outputFiles = [ "*" ];
+ };
+
+ NUnit360 = fetchNuGet {
+ baseName = "NUnit";
+ version = "3.6.0";
+ sha256 = "0wz4sb0hxlajdr09r22kcy9ya79lka71w0k1jv5q2qj3d6g2frz1";
+ outputFiles = [ "*" ];
+ };
+
+in
+
+buildPythonPackage rec {
+ pname = "pythonnet";
+ version = "2.3.0";
+
+ src = fetchPypi {
+ inherit pname version;
+ sha256 = "1hxnkrfj8ark9sbamcxzd63p98vgljfvdwh79qj3ac8pqrgghq80";
+ };
+
+ postPatch = ''
+ substituteInPlace setup.py --replace 'self._install_packages()' '#self._install_packages()'
+ '';
+
+ preConfigure = ''
+ [ -z "$dontPlacateNuget" ] && placate-nuget.sh
+ [ -z "$dontPlacatePaket" ] && placate-paket.sh
+ '';
+
+ nativeBuildInputs = [
+ pytest
+ pycparser
+
+ pkgconfig
+ dotnetbuildhelpers
+ clang
+
+ NUnit360
+ UnmanagedExports127
+ ];
+
+ buildInputs = [
+ mono
+ ];
+
+ preBuild = ''
+ rm -rf packages
+ mkdir packages
+
+ ln -s ${NUnit360}/lib/dotnet/NUnit/ packages/NUnit.3.6.0
+ ln -s ${UnmanagedExports127}/lib/dotnet/NUnit/ packages/UnmanagedExports.1.2.7
+ '';
+
+ checkPhase = ''
+ ${python.interpreter} -m pytest
+ '';
+
+ meta = with lib; {
+ description = ".Net and Mono integration for Python";
+ homepage = https://pythonnet.github.io;
+ license = licenses.mit;
+ maintainers = with maintainers; [ jraygauthier ];
+ };
+}