Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
06083cc
levmar: adopt
nim65s Sep 17, 2025
cdcdbe2
levmar: install new header
nim65s Sep 16, 2025
4111474
lib3mf: adopt
nim65s Sep 17, 2025
213cd5f
lib3mf: fix CMake export
nim65s Sep 17, 2025
a405bcd
lib3mf: replace-warn -> replace-fail
nim65s Oct 5, 2025
dfe018a
tinygltf: init at 2.9.6
nim65s Sep 19, 2025
2f5527c
libigl: dont install opengl headers
nim65s Sep 21, 2025
c38f7f8
vcg: adopt
nim65s Sep 17, 2025
edbfc2a
vcg: clean
nim65s Sep 17, 2025
5332e5d
vcg: switch to CMake
nim65s Sep 17, 2025
0cc4e7d
corto: 0-unstable-2024-04-05 -> v2025.07
nim65s Sep 16, 2025
33f715c
vclab-nexus: init at 2025.05
nim65s Sep 17, 2025
4949e86
meshlab: adopt
nim65s Sep 16, 2025
8f27f46
meshlab: 2023.12 -> 2025.07 + use system dependencies
nim65s Sep 16, 2025
cb2baca
meshlab: darwin updates
nim65s Sep 21, 2025
9802d58
meshlab-unstable: drop
nim65s Sep 21, 2025
ae49f7f
meshlab: remove from all-packages, use by-name
nim65s Sep 25, 2025
1376ce7
meshlab: darwin plist: substitute -> patch
nim65s Oct 5, 2025
3994ebf
python3Packages.pymeshlab: 2023.12 -> 2025.7 + use system dependencies
nim65s Sep 19, 2025
034b8dd
python3Packages.pymeshlab: fix on darwin
nim65s Sep 21, 2025
163222a
python3Packages.pymeshlab: dont propagate hook
nim65s Oct 5, 2025
e8ea109
openscad: fix on darwin
nim65s Oct 5, 2025
974b7b3
tinygltf: unvendor json & stb
nim65s Oct 14, 2025
044abb1
lib3mf: fix header install
nim65s Oct 23, 2025
c2172a7
openscad-unstable: fix use of our lib3mf cmake export
nim65s Oct 24, 2025
9c0cec0
lib3mf: fix lib3mf.pc
nim65s Oct 27, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
133 changes: 65 additions & 68 deletions pkgs/applications/graphics/pymeshlab/default.nix
Original file line number Diff line number Diff line change
@@ -1,106 +1,103 @@
{
stdenv,
lib,

stdenv,
fetchFromGitHub,
libGLU,
qtbase,
qtscript,
qtxmlpatterns,
lib3ds,
bzip2,
muparser,
eigen,
glew,
gmp,
levmar,
qhull,
fetchpatch,

# nativeBuildInputs
cmake,
cgal,
boost,
mpfr,
xercesc,
onetbb,
embree,
vcg,
libigl,
corto,
openctm,
structuresynth,
wrapQtAppsHook,
python3Packages,

# propagatedBuildInputs
meshlab,

# buildInputs
libsForQt5,
llvmPackages,
glew,
vcg,
}:

stdenv.mkDerivation (finalAttrs: {
pname = "pymeshlab";
version = "2023.12";
version = "2025.7";

src = fetchFromGitHub {
owner = "cnr-isti-vclab";
repo = "pymeshlab";
rev = "v${finalAttrs.version}";
hash = "sha256-IOlRdXoUPOJt67g3HqsLchV5aL+JUEks2y1Sy+wpwsg=";
fetchSubmodules = true;
tag = "v${finalAttrs.version}";
hash = "sha256-LCR2/AyX9uVX4xhZareUL6YlpUsCFiGDMBB5nFp+H6k=";
};

buildInputs = [
libGLU
qtbase
qtscript
qtxmlpatterns
lib3ds
bzip2
muparser
eigen
glew
gmp
levmar
qhull
cgal
boost
mpfr
xercesc
onetbb
embree
vcg
libigl
corto
structuresynth
openctm
patches = [
# CMake: allow use of system-provided meshlab & pybind11
# ref. https://github.com/cnr-isti-vclab/PyMeshLab/pull/445
# merged upstream
(fetchpatch {
url = "https://github.com/cnr-isti-vclab/PyMeshLab/commit/b363caae4362746b3f9e9326fe7b72a2ec7824d9.patch";
hash = "sha256-euKfOx/T0qdeMx79dpEalzmdWsr4nbDFJfKdksvULBw=";
})
];

nativeBuildInputs = [
cmake
wrapQtAppsHook
python3Packages.pybind11
];

nativeCheckInputs = [
python3Packages.pythonImportsCheckHook
];

propagatedBuildInputs = [
meshlab
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}" ""
'';
buildInputs = [
glew
libsForQt5.qtbase
vcg
]
++ lib.optionals stdenv.cc.isClang [
llvmPackages.openmp
];

dontWrapQtApps = true;

cmakeFlags = [
"-DCMAKE_INSTALL_PREFIX=${placeholder "out"}/${python3Packages.python.sitePackages}/pymeshlab"
"-DVCGDIR=${vcg.src}"
];

# Get io & filter plugins from meshlab, to avoild render, decorate & edit ones
postInstall =
let
plugins =
if stdenv.hostPlatform.isDarwin then
"Applications/meshlab.app/Contents/PlugIns"
else
"lib/meshlab/plugins";
pyPlugins = if stdenv.hostPlatform.isDarwin then "PlugIns" else "lib/plugins";
in
''
install -D -t $out/${python3Packages.python.sitePackages}/pymeshlab/${pyPlugins} \
${meshlab}/${plugins}/libio_* \
${meshlab}/${plugins}/libfilter_*
'';

postFixup = lib.optionalString stdenv.hostPlatform.isLinux ''
patchelf \
--add-needed ${meshlab}/lib/meshlab/libmeshlab-common.so \
$out/${python3Packages.python.sitePackages}/pymeshlab/pmeshlab.*.so
'';

pythonImportsCheck = [ "pymeshlab" ];

meta = {
description = "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;
platforms = with lib.platforms; linux ++ darwin;
};
})
32 changes: 24 additions & 8 deletions pkgs/by-name/co/corto/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,42 @@
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
cmake,
nix-update-script,
}:

stdenv.mkDerivation {
stdenv.mkDerivation (finalAttrs: {
pname = "corto";
version = "0-unstable-2024-04-05";
version = "2025.07";

src = fetchFromGitHub {
owner = "cnr-isti-vclab";
repo = "corto";
rev = "d880519c490c88a39d12c31a914b6a687a7019c3";
hash = "sha256-0OUijrf+0ZNv3oYko2r8Kp9zgtg8b9RPL7DXHf15Ryc=";
tag = "v${finalAttrs.version}";
hash = "sha256-wfIZQdypBTfUZJgPE4DetSt1SUNSyZihmL1Uzapqh1o=";
};

patches = [
# CMake: exports
# ref. https://github.com/cnr-isti-vclab/corto/pull/47
# merged upstream
(fetchpatch {
name = "cmake-exports.patch";
url = "https://github.com/cnr-isti-vclab/corto/commit/169356e97b29587b278822118aef34ed742b6b37.patch";
hash = "sha256-imJfQ8JEhCcSkkO35N7Z3NtGElCyVxENPMDMWfNqdW0=";
})
];

nativeBuildInputs = [ cmake ];

meta = with lib; {
updateScript = nix-update-script { };

meta = {
description = "Mesh compression library, designed for rendering and speed";
homepage = "https://github.com/cnr-isti-vclab/corto";
license = licenses.mit;
maintainers = with maintainers; [ nim65s ];
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ nim65s ];
mainProgram = "corto";
};
}
})
4 changes: 2 additions & 2 deletions pkgs/by-name/le/levmar/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -26,15 +26,15 @@ stdenv.mkDerivation (finalAttrs: {

installPhase = ''
mkdir -p $out/include $out/lib
cp lm.h $out/include
cp levmar.h lm.h $out/include
cp liblevmar.a $out/lib
'';

meta = {
description = "ANSI C implementations of Levenberg-Marquardt, usable also from C++";
homepage = "https://www.ics.forth.gr/~lourakis/levmar/";
license = lib.licenses.gpl2Plus;
maintainers = [ ];
maintainers = [ lib.maintainers.nim65s ];
platforms = lib.platforms.all;
};
})
20 changes: 15 additions & 5 deletions pkgs/by-name/li/lib3mf/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ stdenv.mkDerivation (finalAttrs: {
];

cmakeFlags = [
"-DCMAKE_INSTALL_INCLUDEDIR=include/lib3mf"
"-DCMAKE_INSTALL_INCLUDEDIR=${placeholder "dev"}/include/lib3mf"
"-DUSE_INCLUDED_ZLIB=OFF"
"-DUSE_INCLUDED_LIBZIP=OFF"
"-DUSE_INCLUDED_GTEST=OFF"
Expand Down Expand Up @@ -95,9 +95,19 @@ stdenv.mkDerivation (finalAttrs: {

# functions are no longer in openssl, remove them from test cleanup function
substituteInPlace Tests/CPP_Bindings/Source/UnitTest_EncryptionUtils.cpp \
--replace-warn "RAND_cleanup();" "" \
--replace-warn "EVP_cleanup();" "" \
--replace-warn "CRYPTO_cleanup_all_ex_data();" ""
--replace-fail "RAND_cleanup();" "" \
--replace-fail "EVP_cleanup();" "" \
--replace-fail "CRYPTO_cleanup_all_ex_data();" ""

# Fix CMake export
# ref https://github.com/3MFConsortium/lib3mf/pull/434
substituteInPlace cmake/lib3mfConfig.cmake \
--replace-fail "$""{LIB3MF_ROOT_DIR}/include" "$""{LIB3MF_ROOT_DIR}/include/lib3mf" \
--replace-fail "$""{LIB3MF_ROOT_DIR}/lib" "$out/lib"

# Use absolute CMAKE_INSTALL_INCLUDEDIR
substituteInPlace lib3mf.pc.in \
--replace-fail "includedir=$""{prefix}/@CMAKE_INSTALL_INCLUDEDIR@" "includedir=@CMAKE_INSTALL_INCLUDEDIR@"
'';

doCheck = true;
Expand All @@ -109,7 +119,7 @@ stdenv.mkDerivation (finalAttrs: {
description = "Reference implementation of the 3D Manufacturing Format file standard";
homepage = "https://3mf.io/";
license = licenses.bsd2;
maintainers = [ ];
maintainers = with maintainers; [ nim65s ];
platforms = platforms.all;
};
})
1 change: 1 addition & 0 deletions pkgs/by-name/li/libigl/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
installPhase = ''
mkdir -p $out/include
cp -r include/igl $out/include
rm -rf $out/include/igl/opengl
'';

meta = with lib; {
Expand Down
14 changes: 0 additions & 14 deletions pkgs/by-name/me/meshlab-unstable/meshlab.desktop

This file was deleted.

Loading
Loading