about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/python-modules/bayespy/default.nix43
-rw-r--r--pkgs/development/python-modules/truncnorm/default.nix44
-rw-r--r--pkgs/top-level/python-packages.nix2
3 files changed, 77 insertions, 12 deletions
diff --git a/pkgs/development/python-modules/bayespy/default.nix b/pkgs/development/python-modules/bayespy/default.nix
index ef82df7dfb950..6c4d629e0843a 100644
--- a/pkgs/development/python-modules/bayespy/default.nix
+++ b/pkgs/development/python-modules/bayespy/default.nix
@@ -1,30 +1,49 @@
-{ stdenv, lib, buildPythonPackage, fetchPypi, pythonOlder
-, pytestCheckHook, nose, glibcLocales, fetchpatch
-, numpy, scipy, matplotlib, h5py }:
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  pythonOlder,
+  setuptools,
+  numpy,
+  scipy,
+  h5py,
+  truncnorm,
+  pytestCheckHook,
+}:
 
 buildPythonPackage rec {
   pname = "bayespy";
   version = "0.6.1";
-  format = "setuptools";
+  pyproject = true;
 
   # Python 2 not supported and not some old Python 3 because MPL doesn't support
   # them properly.
   disabled = pythonOlder "3.4";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-3N8w/LiTLsDZbHp3z26FvDg3vStB2l3XkIWx+Mma1G0=";
+  src = fetchFromGitHub {
+    owner = "bayespy";
+    repo = "bayespy";
+    rev = "refs/tags/${version}";
+    hash = "sha256-X7CwJBrKHlU1jqMkt/7XEzaiwul1Yzkb/V64lXG4Aqo=";
   };
 
-  nativeCheckInputs = [ pytestCheckHook nose glibcLocales ];
+  postPatch = ''
+    substituteInPlace versioneer.py \
+      --replace-fail SafeConfigParser ConfigParser \
+      --replace-fail readfp read_file
+  '';
 
-  propagatedBuildInputs = [ numpy scipy matplotlib h5py ];
+  build-system = [ setuptools ];
 
-  disabledTests = [
-    # Assertion error
-    "test_message_to_parents"
+  dependencies = [
+    numpy
+    scipy
+    h5py
+    truncnorm
   ];
 
+  nativeCheckInputs = [ pytestCheckHook ];
+
   pythonImportsCheck = [ "bayespy" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/truncnorm/default.nix b/pkgs/development/python-modules/truncnorm/default.nix
new file mode 100644
index 0000000000000..b9b9d77b22f66
--- /dev/null
+++ b/pkgs/development/python-modules/truncnorm/default.nix
@@ -0,0 +1,44 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  setuptools,
+  setuptools-scm,
+  numpy,
+  scipy,
+}:
+
+buildPythonPackage rec {
+  pname = "truncnorm";
+  version = "0.0.2";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "jluttine";
+    repo = "truncnorm";
+    rev = "refs/tags/${version}";
+    hash = "sha256-F+RBXN/pjxmHf26/Vxptz1NbF58eqU018l3zmepSoJk=";
+  };
+
+  build-system = [
+    setuptools
+    setuptools-scm
+  ];
+
+  dependencies = [
+    numpy
+    scipy
+  ];
+
+  # No checks
+  doCheck = false;
+
+  pythonImportsCheck = [ "truncnorm" ];
+
+  meta = with lib; {
+    homepage = "https://pypi.org/project/truncnorm";
+    description = "Moments for doubly truncated multivariate normal distributions";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jluttine ];
+  };
+}
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 48eeaaa8c748d..bf453e7795daf 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -15425,6 +15425,8 @@ self: super: with self; {
 
   trueskill = callPackage ../development/python-modules/trueskill { };
 
+  truncnorm = callPackage ../development/python-modules/truncnorm { };
+
   trustme = callPackage ../development/python-modules/trustme { };
 
   truststore = callPackage ../development/python-modules/truststore { };