about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMatthew Justin Bauer <mjbauer95@gmail.com>2018-04-09 14:07:40 -0500
committerGitHub <noreply@github.com>2018-04-09 14:07:40 -0500
commit6a74718e00672c8c8377a97e0052cc635b65dfab (patch)
treeb5e91b4e3546077401cdb40fb8f16f91165c9570
parenta7341d70ef3ba6ff06ef28f72ace76240cf1171a (diff)
parent392def733b61855e667c7ce7a777a6bdc397ef44 (diff)
downloadnixlib-6a74718e00672c8c8377a97e0052cc635b65dfab.tar
nixlib-6a74718e00672c8c8377a97e0052cc635b65dfab.tar.gz
nixlib-6a74718e00672c8c8377a97e0052cc635b65dfab.tar.bz2
nixlib-6a74718e00672c8c8377a97e0052cc635b65dfab.tar.lz
nixlib-6a74718e00672c8c8377a97e0052cc635b65dfab.tar.xz
nixlib-6a74718e00672c8c8377a97e0052cc635b65dfab.tar.zst
nixlib-6a74718e00672c8c8377a97e0052cc635b65dfab.zip
Merge pull request #36852 from rprospero/sasview-for-pr
sasview: init at 4.1.2
-rw-r--r--maintainers/maintainer-list.nix5
-rw-r--r--pkgs/applications/science/misc/sasview/default.nix60
-rw-r--r--pkgs/applications/science/misc/sasview/local_config.patch10
-rw-r--r--pkgs/applications/science/misc/sasview/pyparsing-fix.patch8
-rw-r--r--pkgs/applications/science/misc/sasview/xhtml2pdf.nix32
-rw-r--r--pkgs/development/python-modules/bumps/default.nix24
-rw-r--r--pkgs/development/python-modules/periodictable/default.nix20
-rw-r--r--pkgs/development/python-modules/sasmodels/default.nix24
-rw-r--r--pkgs/development/python-modules/unittest-xml-reporting/default.nix23
-rw-r--r--pkgs/top-level/all-packages.nix2
-rw-r--r--pkgs/top-level/python-packages.nix10
11 files changed, 217 insertions, 1 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 6425b6a94c74..c8b1cba21b38 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -3134,6 +3134,11 @@
     github = "rongcuid";
     name = "Rongcui Dong";
   };
+  rprospero = {
+    email = "rprospero+nix@gmail.com";
+    github = "rprospero";
+    name = "Adam Washington";
+  };
   rszibele = {
     email = "richard@szibele.com";
     github = "rszibele";
diff --git a/pkgs/applications/science/misc/sasview/default.nix b/pkgs/applications/science/misc/sasview/default.nix
new file mode 100644
index 000000000000..d0a4f74924c5
--- /dev/null
+++ b/pkgs/applications/science/misc/sasview/default.nix
@@ -0,0 +1,60 @@
+{lib, fetchgit, gcc, python}:
+
+let
+  xhtml2pdf = import ./xhtml2pdf.nix { inherit lib;
+    fetchPypi = python.pkgs.fetchPypi;
+    buildPythonPackage = python.pkgs.buildPythonPackage;
+    html5lib = python.pkgs.html5lib;
+    httplib2 = python.pkgs.httplib2;
+    nose = python.pkgs.nose;
+    pillow = python.pkgs.pillow;
+    pypdf2 = python.pkgs.pypdf2;
+    reportlab = python.pkgs.reportlab;
+};
+
+in
+
+python.pkgs.buildPythonApplication rec {
+  pname = "sasview";
+  version = "4.1.2";
+
+  buildInputs = with python.pkgs; [
+    pytest
+    unittest-xml-reporting];
+
+  propagatedBuildInputs = with python.pkgs; [
+    bumps
+    gcc
+    h5py
+    libxslt
+    lxml
+    matplotlib
+    numpy
+    pyparsing
+    periodictable
+    pillow
+    pylint
+    pyopencl
+    reportlab
+    sasmodels
+    scipy
+    six
+    sphinx
+    wxPython
+    xhtml2pdf];
+
+  src = fetchgit {
+    url = "https://github.com/SasView/sasview.git";
+    rev = "v${version}";
+    sha256 ="05la54wwzzlkhmj8vkr0bvzagyib6z6mgwqbddzjs5y1wd48vpcx";
+  };
+
+  patches = [./pyparsing-fix.patch ./local_config.patch];
+
+  meta = {
+    homepage = https://www.sasview.org;
+    description = "Fitting and data analysis for small angle scattering data";
+    maintainers = with lib.maintainers; [ rprospero ];
+    license = lib.licenses.bsd3;
+  };
+}
diff --git a/pkgs/applications/science/misc/sasview/local_config.patch b/pkgs/applications/science/misc/sasview/local_config.patch
new file mode 100644
index 000000000000..91972a913bc4
--- /dev/null
+++ b/pkgs/applications/science/misc/sasview/local_config.patch
@@ -0,0 +1,10 @@
+--- a/src/sas/_config.py
++++ b/src/sas/_config.py
+@@ -70,2 +70,2 @@
+-        logger.critical("Error loading %s: %s", path, exc)
+-        sys.exit()
++        import sas.sasview.local_config
++        return sas.sasview.local_config
+-- 
+2.15.0
+
diff --git a/pkgs/applications/science/misc/sasview/pyparsing-fix.patch b/pkgs/applications/science/misc/sasview/pyparsing-fix.patch
new file mode 100644
index 000000000000..7729292cb344
--- /dev/null
+++ b/pkgs/applications/science/misc/sasview/pyparsing-fix.patch
@@ -0,0 +1,8 @@
+--- a/setup.py
++++ b/setup.py
+@@ -5,1 +5,1 @@
+-    'bumps>=0.7.5.9', 'periodictable>=1.5.0', 'pyparsing<2.0.0',
++    'bumps>=0.7.5.9', 'periodictable>=1.5.0',
+-- 
+2.15.0
+
diff --git a/pkgs/applications/science/misc/sasview/xhtml2pdf.nix b/pkgs/applications/science/misc/sasview/xhtml2pdf.nix
new file mode 100644
index 000000000000..0b3d438843da
--- /dev/null
+++ b/pkgs/applications/science/misc/sasview/xhtml2pdf.nix
@@ -0,0 +1,32 @@
+{lib, fetchPypi, buildPythonPackage, html5lib, httplib2, nose, pillow, pypdf2, reportlab}:
+
+let
+  #xhtml2pdf specifically requires version "1.0b10" of html5lib
+  html5 = html5lib.overrideAttrs( oldAttrs: rec{
+    version = "1.0b10";
+    src = oldAttrs.src.override {
+      inherit version;
+      sha256 = "1yd068a5c00wd0ajq0hqimv7fd82lhrw0w3s01vbhy9bbd6xapqd";
+    };
+  });
+in
+
+buildPythonPackage rec {
+  pname = "xhtml2pdf";
+  version = "0.2.1";
+
+  buildInputs = [html5];
+  propagatedBuildInputs = [httplib2 nose pillow pypdf2 reportlab html5];
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1n9r8zdk9gc2x539fq60bhszmd421ipj8g78zmsn3njvma1az9k1";
+  };
+
+  meta = {
+    description = "A pdf converter for the ReportLab Toolkit";
+    homepage = https://github.com/xhtml2pdf/xhtml2pdf;
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ rprospero ];
+  };
+}
diff --git a/pkgs/development/python-modules/bumps/default.nix b/pkgs/development/python-modules/bumps/default.nix
new file mode 100644
index 000000000000..51d3d9e6833e
--- /dev/null
+++ b/pkgs/development/python-modules/bumps/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildPythonPackage, fetchPypi, six}:
+
+buildPythonPackage rec {
+  pname = "bumps";
+  version = "0.7.6";
+
+  propagatedBuildInputs = [six];
+
+  # Bumps does not provide its own tests.py, so the test
+  # always fails
+  doCheck = false;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1ahzw8ls9wsz2ks668s15zskyykib52fhi07mg50hp7lw9avqb5k";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = http://www.reflectometry.org/danse/software.html;
+    description = "Data fitting with bayesian uncertainty analysis";
+    maintainers = with maintainers; [ rprospero ];
+    license = licenses.publicDomain;
+  };
+}
diff --git a/pkgs/development/python-modules/periodictable/default.nix b/pkgs/development/python-modules/periodictable/default.nix
new file mode 100644
index 000000000000..e77c281e2c49
--- /dev/null
+++ b/pkgs/development/python-modules/periodictable/default.nix
@@ -0,0 +1,20 @@
+{lib, fetchPypi, buildPythonPackage, numpy, pyparsing}:
+
+buildPythonPackage rec{
+  pname = "periodictable";
+  version = "1.5.0";
+
+  propagatedBuildInputs = [numpy pyparsing];
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1cjk6aqcz41nxm4fpriz01vqdafd6g57cjk0wh1iklk5cx6c085h";
+  };
+
+  meta = {
+    homepage = http://www.reflectometry.org/danse/software.html;
+    description = "an extensible periodic table of the elements prepopulated with data important to neutron and x-ray scattering experiments";
+    license = lib.licenses.publicDomain;
+    maintainers = with lib.maintainers; [ rprospero ];
+  };
+}
diff --git a/pkgs/development/python-modules/sasmodels/default.nix b/pkgs/development/python-modules/sasmodels/default.nix
new file mode 100644
index 000000000000..d33de9c2a73a
--- /dev/null
+++ b/pkgs/development/python-modules/sasmodels/default.nix
@@ -0,0 +1,24 @@
+{lib, fetchgit, buildPythonPackage, pytest, numpy, scipy, matplotlib, docutils}:
+
+buildPythonPackage rec {
+  pname = "sasmodels";
+  version = "0.96";
+
+  buildInputs = [pytest];
+  propagatedBuildInputs = [docutils matplotlib numpy scipy];
+
+  preCheck = ''export HOME=$(mktemp -d)'';
+
+  src = fetchgit {
+    url = "https://github.com/SasView/sasmodels.git";
+    rev = "v${version}";
+    sha256 = "11qaaqdc23qzb75zs48fkypksmcb332vl0pkjqr5bijxxymgm7nw";
+  };
+
+  meta = {
+    description = "Library of small angle scattering models";
+    homepage = http://sasview.org;
+    license = lib.licenses.bsd3;
+    maintainers = with lib.maintainers; [ rprospero ];
+  };
+}
diff --git a/pkgs/development/python-modules/unittest-xml-reporting/default.nix b/pkgs/development/python-modules/unittest-xml-reporting/default.nix
new file mode 100644
index 000000000000..129ad0ded6c7
--- /dev/null
+++ b/pkgs/development/python-modules/unittest-xml-reporting/default.nix
@@ -0,0 +1,23 @@
+{lib, fetchPypi, buildPythonPackage, six}:
+
+buildPythonPackage rec {
+  name = "${pname}-${version}";
+  pname = "unittest-xml-reporting";
+  version = "2.1.1";
+
+  propagatedBuildInputs = [six];
+
+  # The tarball from Pypi doesn't actually contain the unit tests
+  doCheck = false;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1jwkqx5gfphkymp3xwqvlb94ng22gpbqh36vbbnsrpk1a0mammm6";
+  };
+  meta = with lib; {
+    homepage = https://github.com/xmlrunner/unittest-xml-reporting/tree/master/;
+    description = "A unittest runner that can save test results to XML files";
+    license = lib.licenses.bsd2;
+    maintainers = with lib.maintainers; [ rprospero ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 33c0cf0ff108..c2352fcf42f6 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -4729,6 +4729,8 @@ with pkgs;
 
   samplicator = callPackage ../tools/networking/samplicator { };
 
+  sasview = callPackage ../applications/science/misc/sasview {};
+
   scanbd = callPackage ../tools/graphics/scanbd { };
 
   screen = callPackage ../tools/misc/screen {
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 9088c55cc274..68a5cf0fa217 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -1278,6 +1278,8 @@ in {
     enablePython = true;
   });
 
+  bumps = callPackage ../development/python-modules/bumps {};
+
   buttersink = buildPythonPackage rec {
     name = "buttersink-0.6.8";
 
@@ -11725,6 +11727,8 @@ in {
     };
   };
 
+    periodictable = callPackage ../development/python-modules/periodictable { };
+
   pg8000 = buildPythonPackage rec {
     name = "pg8000-1.10.1";
 
@@ -14607,6 +14611,8 @@ in {
 
   sampledata = callPackage ../development/python-modules/sampledata { };
 
+  sasmodels = callPackage ../development/python-modules/sasmodels { };
+
   scapy = callPackage ../development/python-modules/scapy { };
 
   scipy = callPackage ../development/python-modules/scipy { };
@@ -16617,7 +16623,9 @@ in {
     };
   };
 
-  uritemplate_py = buildPythonPackage rec {
+    unittest-xml-reporting = callPackage ../development/python-modules/unittest-xml-reporting { };
+
+    uritemplate_py = buildPythonPackage rec {
     name = "uritemplate.py-${version}";
     version = "3.0.0";