diff --git a/pkgs/development/libraries/smesh/default.nix b/pkgs/development/libraries/smesh/default.nix new file mode 100644 index 00000000000..529f910c35a --- /dev/null +++ b/pkgs/development/libraries/smesh/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchFromGitHub, cmake, ninja, opencascade }: + +stdenv.mkDerivation rec { + pname = "smesh"; + version = "6.7.6"; + + src = fetchFromGitHub { + owner = "tpaviot"; + repo = "smesh"; + rev = version; + sha256 = "1b07j3bw3lnxk8dk3x1kkl2mbsmfwi98si84054038lflaaijzi0"; + }; + + nativeBuildInputs = [ cmake ninja ]; + buildInputs = [ opencascade ]; + + meta = with stdenv.lib; { + description = "Extension to OCE providing advanced meshing features"; + homepage = "https://github.com/tpaviot/smesh"; + license = licenses.lgpl21; + platforms = platforms.unix; + maintainers = with maintainers; [ gebner ]; + }; +} diff --git a/pkgs/development/python-modules/pythonocc-core/default.nix b/pkgs/development/python-modules/pythonocc-core/default.nix new file mode 100644 index 00000000000..b3a9cfe82ee --- /dev/null +++ b/pkgs/development/python-modules/pythonocc-core/default.nix @@ -0,0 +1,37 @@ +{ stdenv, python, fetchFromGitHub, cmake, swig, ninja, + opencascade, smesh, freetype, libGL, libGLU, libX11 }: + +stdenv.mkDerivation rec { + pname = "pythonocc-core"; + version = "0.18.1"; + + src = fetchFromGitHub { + owner = "tpaviot"; + repo = "pythonocc-core"; + rev = version; + sha256 = "1jk4y7f75z9lyawffpfkr50qw5452xzi1imcdlw9pdvf4i0y86k3"; + }; + + nativeBuildInputs = [ cmake swig ninja ]; + buildInputs = [ + python opencascade smesh + freetype libGL libGLU libX11 + ]; + + 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" + ]; + + meta = with stdenv.lib; { + description = "Python wrapper for the OpenCASCADE 3D modeling kernel"; + homepage = "https://github.com/tpaviot/pythonocc-core"; + license = licenses.lgpl3; + platforms = platforms.unix; + maintainers = with maintainers; [ gebner ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 904fc2a01a7..e4517eebcfa 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5745,6 +5745,8 @@ in smenu = callPackage ../tools/misc/smenu { }; + smesh = callPackage ../development/libraries/smesh {}; + smugline = python3Packages.smugline; snabb = callPackage ../tools/networking/snabb { } ; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 6e7a41f9468..d0ce2175cee 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -782,6 +782,10 @@ in { python-mnist = callPackage ../development/python-modules/python-mnist { }; + pythonocc-core = toPythonModule (callPackage ../development/python-modules/pythonocc-core { + inherit (pkgs.xorg) libX11; + }); + python-igraph = callPackage ../development/python-modules/python-igraph { pkgconfig = pkgs.pkgconfig; igraph = pkgs.igraph;