49 lines
1.3 KiB
Nix
49 lines
1.3 KiB
Nix
{ buildPythonPackage
|
|
, fetchFromGitHub
|
|
, lib
|
|
, ply
|
|
, setuptools
|
|
, poetry-core
|
|
, withOpenSCAD ? false
|
|
, openscad
|
|
}:
|
|
buildPythonPackage rec {
|
|
pname = "solidpython2";
|
|
version = "2.1.0";
|
|
pyproject = true;
|
|
src = fetchFromGitHub {
|
|
owner = "jeff-dh";
|
|
repo = "SolidPython";
|
|
rev = "v${version}";
|
|
hash = "sha256-Tq3hrsC2MmueCqChk6mY/u/pCjF/pFuU2o3K+qw7ImY=";
|
|
};
|
|
|
|
# NOTE: this patch makes tests runnable outside the source-tree
|
|
# - it uses diff instead of git-diff
|
|
# - modifies the tests output to resemble the paths resulting from running inside the source-tree
|
|
# - drop the openscad image geneneration tests, these don't work on the nix sandbox due to the need for xserver
|
|
patches = [ ./difftool_tests.patch ];
|
|
|
|
propagatedBuildInputs = lib.optionals withOpenSCAD [openscad];
|
|
|
|
build-system = [
|
|
poetry-core
|
|
];
|
|
dependencies = [
|
|
ply
|
|
setuptools
|
|
];
|
|
pythonImportsCheck = [ "solid2" ];
|
|
checkPhase = ''
|
|
runHook preCheck
|
|
python $TMPDIR/source/tests/run_tests.py
|
|
runHook postCheck
|
|
'';
|
|
|
|
meta = with lib; {
|
|
homepage = "https://github.com/jeff-dh/SolidPython";
|
|
description = "A python frontend for solid modelling that compiles to OpenSCAD";
|
|
license = licenses.lgpl2Plus;
|
|
maintainers = with maintainers; [ jonboh ];
|
|
};
|
|
}
|