102 lines
2 KiB
Nix
102 lines
2 KiB
Nix
{
|
|
mkDerivation,
|
|
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,
|
|
}:
|
|
|
|
mkDerivation rec {
|
|
pname = "meshlab";
|
|
version = "2023.12";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "cnr-isti-vclab";
|
|
repo = "meshlab";
|
|
rev = "MeshLab-${version}";
|
|
sha256 = "sha256-AdUAWS741RQclYaSE3Tz1/I0YSinNAnfSaqef+Tib8Y=";
|
|
};
|
|
|
|
buildInputs = [
|
|
libGLU
|
|
qtbase
|
|
qtscript
|
|
qtxmlpatterns
|
|
lib3ds
|
|
bzip2
|
|
muparser
|
|
eigen
|
|
glew
|
|
gmp
|
|
levmar
|
|
qhull
|
|
cgal
|
|
boost
|
|
mpfr
|
|
xercesc
|
|
tbb
|
|
embree
|
|
vcg
|
|
libigl
|
|
corto
|
|
openctm
|
|
structuresynth
|
|
];
|
|
|
|
nativeBuildInputs = [ cmake ];
|
|
|
|
preConfigure = ''
|
|
substituteAll ${./meshlab.desktop} resources/linux/meshlab.desktop
|
|
substituteInPlace src/external/libigl.cmake \
|
|
--replace-fail '$'{MESHLAB_EXTERNAL_DOWNLOAD_DIR}/libigl-2.4.0 ${libigl}
|
|
substituteInPlace src/external/nexus.cmake \
|
|
--replace-fail '$'{NEXUS_DIR}/src/corto ${corto.src}
|
|
substituteInPlace src/external/levmar.cmake \
|
|
--replace-fail '$'{LEVMAR_LINK} ${levmar.src} \
|
|
--replace-warn "MD5 ''${LEVMAR_MD5}" ""
|
|
substituteInPlace src/external/ssynth.cmake \
|
|
--replace-fail '$'{SSYNTH_LINK} ${structuresynth.src} \
|
|
--replace-warn "MD5 ''${SSYNTH_MD5}" ""
|
|
substituteInPlace src/common_gui/CMakeLists.txt \
|
|
--replace-warn "MESHLAB_LIB_INSTALL_DIR" "CMAKE_INSTALL_LIBDIR"
|
|
'';
|
|
|
|
cmakeFlags = [
|
|
"-DVCGDIR=${vcg.src}"
|
|
];
|
|
|
|
postFixup = ''
|
|
patchelf --add-needed $out/lib/meshlab/libmeshlab-common.so $out/bin/.meshlab-wrapped
|
|
'';
|
|
|
|
meta = {
|
|
description = "System for processing and editing 3D triangular meshes";
|
|
mainProgram = "meshlab";
|
|
homepage = "https://www.meshlab.net/";
|
|
license = lib.licenses.gpl3Only;
|
|
maintainers = [ ];
|
|
platforms = with lib.platforms; linux;
|
|
};
|
|
}
|