{ lib , buildPythonPackage , toPythonModule , pythonOlder , pythonAtLeast , fetchFromGitHub , pyparsing , opencascade-occt , stdenv , python , cmake , swig , freetype , libGL , libGLU , libX11 , six , pytest , makeFontsConf , freefont_ttf , Cocoa }: let pythonocc-core-cadquery = toPythonModule (stdenv.mkDerivation { pname = "pythonocc-core-cadquery"; version = "0.18.2"; format = "setuptools"; src = fetchFromGitHub { owner = "CadQuery"; repo = "pythonocc-core"; # no proper release to to use, this commit copied from the Anaconda receipe rev = "701e924ae40701cbe6f9992bcbdc2ef22aa9b5ab"; sha256 = "07zmiiw74dyj4v0ar5vqkvk30wzcpjjzbi04nsdk5mnlzslmyi6c"; }; nativeBuildInputs = [ cmake swig ]; buildInputs = [ python opencascade-occt freetype libGL libGLU libX11 ] ++ lib.optionals stdenv.isDarwin [ Cocoa ]; propagatedBuildInputs = [ six ]; cmakeFlags = [ "-Wno-dev" "-DPYTHONOCC_INSTALL_DIRECTORY=${placeholder "out"}/${python.sitePackages}/OCC" ]; }); in buildPythonPackage rec { pname = "cadquery"; version = "2.0"; src = fetchFromGitHub { owner = "CadQuery"; repo = pname; rev = version; sha256 = "1n63b6cjjrdwdfmwq0zx1xabjnhndk9mgfkm4w7z9ardcfpvg84l"; }; buildInputs = [ opencascade-occt ]; propagatedBuildInputs = [ pyparsing pythonocc-core-cadquery ]; FONTCONFIG_FILE = makeFontsConf { fontDirectories = [ freefont_ttf ]; }; nativeCheckInputs = [ pytest ]; disabled = pythonOlder "3.6" || pythonAtLeast "3.8"; meta = with lib; { description = "Parametric scripting language for creating and traversing CAD models"; homepage = "https://github.com/CadQuery/cadquery"; license = licenses.asl20; maintainers = with maintainers; [ marcus7070 ]; broken = true; }; }