diff options
author | Guilhem Saurel <guilhem.saurel@laas.fr> | 2024-03-26 15:38:21 +0100 |
---|---|---|
committer | Sandro Jäckel <sandro.jaeckel@gmail.com> | 2024-04-20 17:15:29 +0200 |
commit | fc7d8b347a6d3deb8dd765e8bc026cdcaf0eed1f (patch) | |
tree | 0952107666400b39250825c5ea5cd831c692bba9 /pkgs | |
parent | 74900367e85e4d7560db2aaf12d5282afc0f12b0 (diff) |
pymeshlab: init at 2023.12
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/applications/graphics/pymeshlab/default.nix | 107 | ||||
-rw-r--r-- | pkgs/top-level/python-packages.nix | 2 |
2 files changed, 109 insertions, 0 deletions
diff --git a/pkgs/applications/graphics/pymeshlab/default.nix b/pkgs/applications/graphics/pymeshlab/default.nix new file mode 100644 index 0000000000000..5bf8339797b42 --- /dev/null +++ b/pkgs/applications/graphics/pymeshlab/default.nix @@ -0,0 +1,107 @@ +{ stdenv +, lib +, fetchFromGitHub +, libGLU +, qtbase +, qtscript +, qtxmlpatterns +, lib3ds +, bzip2 +, muparser +, eigen +, glew +, gmp +, levmar +, qhull +, cmake +, cgal +, boost +, mpfr +, xercesc +, tbb +, embree +, vcg +, libigl +, corto +, openctm +, structuresynth +, wrapQtAppsHook +, python3Packages +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "pymeshlab"; + version = "2023.12"; + + src = fetchFromGitHub { + owner = "cnr-isti-vclab"; + repo = "pymeshlab"; + rev = "v${finalAttrs.version}"; + hash = "sha256-IOlRdXoUPOJt67g3HqsLchV5aL+JUEks2y1Sy+wpwsg="; + fetchSubmodules = true; + }; + + buildInputs = [ + libGLU + qtbase + qtscript + qtxmlpatterns + lib3ds + bzip2 + muparser + eigen + glew + gmp + levmar + qhull + cgal + boost + mpfr + xercesc + tbb + embree + vcg + libigl + corto + structuresynth + openctm + ]; + + nativeBuildInputs = [ + cmake + wrapQtAppsHook + python3Packages.pybind11 + ]; + + propagatedBuildInputs = [ + python3Packages.numpy + ]; + + preConfigure = '' + substituteInPlace src/meshlab/src/external/libigl.cmake \ + --replace-fail '$'{MESHLAB_EXTERNAL_DOWNLOAD_DIR}/libigl-2.4.0 ${libigl} + substituteInPlace src/meshlab/src/external/nexus.cmake \ + --replace-fail '$'{NEXUS_DIR}/src/corto ${corto.src} + substituteInPlace src/meshlab/src/external/levmar.cmake \ + --replace-fail '$'{LEVMAR_LINK} ${levmar.src} \ + --replace-warn "MD5 ''${LEVMAR_MD5}" "" + substituteInPlace src/meshlab/src/external/ssynth.cmake \ + --replace-fail '$'{SSYNTH_LINK} ${structuresynth.src} \ + --replace-warn "MD5 ''${SSYNTH_MD5}" "" + export cmakeFlags="cmakeFlags + -DCMAKE_INSTALL_PREFIX=$out/${python3Packages.python.sitePackages}/pymeshlab + " + ''; + + cmakeFlags = [ + "-DVCGDIR=${vcg.src}" + ]; + + meta = { + description = "The open source mesh processing python library"; + homepage = "https://github.com/cnr-isti-vclab/PyMeshLab"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ nim65s ]; + platforms = with lib.platforms; linux; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 4731c7459fcdc..62ac589cebae0 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9664,6 +9664,8 @@ self: super: with self; { pypemicro = callPackage ../development/python-modules/pypemicro { }; + pymeshlab = toPythonModule (pkgs.libsForQt5.callPackage ../applications/graphics/pymeshlab { }); + pyprecice = callPackage ../development/python-modules/pyprecice { }; pyprobables = callPackage ../development/python-modules/pyprobables { }; |