sasview: fix build (#40433)
The package breaks currently breaks with the following message: ``` fixed-output derivation produced path '/nix/store/5dh1mdj027ad8sprk12fqa5h5bpdxs5n-sasview' with sha256 hash '12k1w4yq1mzjxcp2cqb562c7cbwzhi54rsbmgi0fax0i1660q167' instead of the expected hash '05la54wwzzlkhmj8vkr0bvzagyib6z6mgwqbddzjs5y1wd48vpcx' ``` To fix the build the following changes were applied: * Switched to latest master for now as the older releases have a broken `py.test` configuration and altering hashes. * Added `checkPhase` which invokes `py.test` directly and drops duplicated files from `dist/tmpbuild`. * Rebased the patches `pyparsing-fix.patch` and `local_config.patch` for the latest master revision. Additionally refer to the discussion in #40381 for further reference.
This commit is contained in:
parent
8712ea5ccf
commit
be53a0f2ef
@ -1,7 +1,8 @@
|
|||||||
{lib, fetchgit, gcc, python}:
|
{ lib, fetchFromGitHub, gcc, python }:
|
||||||
|
|
||||||
let
|
let
|
||||||
xhtml2pdf = import ./xhtml2pdf.nix { inherit lib;
|
xhtml2pdf = import ./xhtml2pdf.nix {
|
||||||
|
inherit lib;
|
||||||
fetchPypi = python.pkgs.fetchPypi;
|
fetchPypi = python.pkgs.fetchPypi;
|
||||||
buildPythonPackage = python.pkgs.buildPythonPackage;
|
buildPythonPackage = python.pkgs.buildPythonPackage;
|
||||||
html5lib = python.pkgs.html5lib;
|
html5lib = python.pkgs.html5lib;
|
||||||
@ -10,17 +11,29 @@ let
|
|||||||
pillow = python.pkgs.pillow;
|
pillow = python.pkgs.pillow;
|
||||||
pypdf2 = python.pkgs.pypdf2;
|
pypdf2 = python.pkgs.pypdf2;
|
||||||
reportlab = python.pkgs.reportlab;
|
reportlab = python.pkgs.reportlab;
|
||||||
};
|
};
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
python.pkgs.buildPythonApplication rec {
|
python.pkgs.buildPythonApplication rec {
|
||||||
pname = "sasview";
|
pname = "sasview";
|
||||||
version = "4.1.2";
|
version = "unstable-2018-05-05";
|
||||||
|
|
||||||
buildInputs = with python.pkgs; [
|
checkInputs = with python.pkgs; [
|
||||||
pytest
|
pytest
|
||||||
unittest-xml-reporting];
|
unittest-xml-reporting
|
||||||
|
];
|
||||||
|
|
||||||
|
checkPhase = ''
|
||||||
|
# fix the following error:
|
||||||
|
# imported module 'sas.sascalc.data_util.uncertainty' has this __file__ attribute:
|
||||||
|
# /build/source/build/lib.linux-x86_64-2.7/sas/sascalc/data_util/uncertainty.py
|
||||||
|
# which is not the same as the test file we want to collect:
|
||||||
|
# /build/source/dist/tmpbuild/sasview/sas/sascalc/data_util/uncertainty.py
|
||||||
|
rm -r dist/tmpbuild
|
||||||
|
|
||||||
|
HOME=$(mktemp -d) py.test
|
||||||
|
'';
|
||||||
|
|
||||||
propagatedBuildInputs = with python.pkgs; [
|
propagatedBuildInputs = with python.pkgs; [
|
||||||
bumps
|
bumps
|
||||||
@ -41,20 +54,22 @@ python.pkgs.buildPythonApplication rec {
|
|||||||
six
|
six
|
||||||
sphinx
|
sphinx
|
||||||
wxPython
|
wxPython
|
||||||
xhtml2pdf];
|
xhtml2pdf
|
||||||
|
];
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchFromGitHub {
|
||||||
url = "https://github.com/SasView/sasview.git";
|
owner = "SasView";
|
||||||
rev = "v${version}";
|
repo = "sasview";
|
||||||
sha256 ="05la54wwzzlkhmj8vkr0bvzagyib6z6mgwqbddzjs5y1wd48vpcx";
|
rev = "de431924d0ddf73cfb952df88bd6661181947019";
|
||||||
|
sha256 = "01bk0i0g65yzyq16n1a61rgjna8rrc2i51x2ndf1z7khb1fl16vg";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [./pyparsing-fix.patch ./local_config.patch];
|
patches = [ ./pyparsing-fix.patch ./local_config.patch ];
|
||||||
|
|
||||||
meta = {
|
meta = with lib; {
|
||||||
homepage = https://www.sasview.org;
|
homepage = https://www.sasview.org;
|
||||||
description = "Fitting and data analysis for small angle scattering data";
|
description = "Fitting and data analysis for small angle scattering data";
|
||||||
maintainers = with lib.maintainers; [ rprospero ];
|
maintainers = with maintainers; [ rprospero ];
|
||||||
license = lib.licenses.bsd3;
|
license = licenses.bsd3;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,10 +1,22 @@
|
|||||||
|
diff --git a/src/sas/_config.py b/src/sas/_config.py
|
||||||
|
index ece08fd4c..926768593 100644
|
||||||
--- a/src/sas/_config.py
|
--- a/src/sas/_config.py
|
||||||
+++ b/src/sas/_config.py
|
+++ b/src/sas/_config.py
|
||||||
@@ -70,2 +70,2 @@
|
@@ -67,8 +67,8 @@ def load_local_config(app_dir):
|
||||||
|
logger.info("GuiManager loaded %s", path)
|
||||||
|
return module
|
||||||
|
except Exception as exc:
|
||||||
- logger.critical("Error loading %s: %s", path, exc)
|
- logger.critical("Error loading %s: %s", path, exc)
|
||||||
- sys.exit()
|
- sys.exit()
|
||||||
+ import sas.sasview.local_config
|
+ import sas.sasview.local_config
|
||||||
+ return sas.sasview.local_config
|
+ return sas.sasview.local_config
|
||||||
--
|
|
||||||
2.15.0
|
def make_custom_config_path(user_dir):
|
||||||
|
"""
|
||||||
|
@@ -116,4 +116,4 @@ def load_custom_config(path):
|
||||||
|
|
||||||
|
from sas.sasview import custom_config
|
||||||
|
logger.info("GuiManager custom_config defaults to sas.sasview.custom_config")
|
||||||
|
- return custom_config
|
||||||
|
\ No newline at end of file
|
||||||
|
+ return custom_config
|
||||||
|
@ -1,8 +1,13 @@
|
|||||||
|
diff --git a/setup.py b/setup.py
|
||||||
|
index 866ab7e36..78727b276 100755
|
||||||
--- a/setup.py
|
--- a/setup.py
|
||||||
+++ b/setup.py
|
+++ b/setup.py
|
||||||
@@ -5,1 +5,1 @@
|
@@ -401,7 +401,7 @@ package_data['sas.sasview'] = ['images/*',
|
||||||
- 'bumps>=0.7.5.9', 'periodictable>=1.5.0', 'pyparsing<2.0.0',
|
packages.append("sas.sasview")
|
||||||
|
|
||||||
|
required = [
|
||||||
|
- 'bumps>=0.7.5.9', 'periodictable>=1.5.0', 'pyparsing>=2.0.0',
|
||||||
+ 'bumps>=0.7.5.9', 'periodictable>=1.5.0',
|
+ 'bumps>=0.7.5.9', 'periodictable>=1.5.0',
|
||||||
--
|
|
||||||
2.15.0
|
# 'lxml>=2.2.2',
|
||||||
|
'lxml', 'h5py',
|
||||||
|
Loading…
Reference in New Issue
Block a user