aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/development/python-modules/cadquery/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/cadquery/default.nix')
-rw-r--r--nixpkgs/pkgs/development/python-modules/cadquery/default.nix93
1 files changed, 93 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/cadquery/default.nix b/nixpkgs/pkgs/development/python-modules/cadquery/default.nix
new file mode 100644
index 00000000000..6f3632f743b
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/cadquery/default.nix
@@ -0,0 +1,93 @@
+{ lib
+ , buildPythonPackage
+ , isPy3k
+ , pythonOlder
+ , fetchFromGitHub
+ , pyparsing
+ , opencascade
+ , stdenv
+ , python
+ , cmake
+ , swig
+ , ninja
+ , smesh
+ , freetype
+ , libGL
+ , libGLU
+ , libX11
+ , six
+}:
+
+let
+ pythonocc-core-cadquery = stdenv.mkDerivation {
+ pname = "pythonocc-core-cadquery";
+ version = "0.18.2";
+
+ 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
+ ninja
+ ];
+
+ buildInputs = [
+ python
+ opencascade
+ smesh
+ freetype
+ libGL
+ libGLU
+ libX11
+ ];
+
+ propagatedBuildInputs = [
+ six
+ ];
+
+ cmakeFlags = [
+ "-Wno-dev"
+ "-DPYTHONOCC_INSTALL_DIRECTORY=${placeholder "out"}/${python.sitePackages}/OCC"
+ "-DSMESH_INCLUDE_PATH=${smesh}/include/smesh"
+ "-DSMESH_LIB_PATH=${smesh}/lib"
+ "-DPYTHONOCC_WRAP_SMESH=TRUE"
+ ];
+ };
+
+in
+ buildPythonPackage rec {
+ pname = "cadquery";
+ version = "2.0RC0";
+
+ src = fetchFromGitHub {
+ owner = "CadQuery";
+ repo = pname;
+ rev = version;
+ sha256 = "1xgd00rih0gjcnlrf9s6r5a7ypjkzgf2xij2b6436i76h89wmir3";
+ };
+
+ buildInputs = [
+ opencascade
+ ];
+
+ propagatedBuildInputs = [
+ pyparsing
+ pythonocc-core-cadquery
+ ];
+
+ # Build errors on 2.7 and >=3.8 (officially only supports 3.6 and 3.7).
+ disabled = !(isPy3k && (pythonOlder "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; [ costrouc marcus7070 ];
+ };
+ }