nixpkgs/pkgs/applications/graphics/meshlab/default.nix

70 lines
2.0 KiB
Nix
Raw Normal View History

2018-08-14 09:50:28 +01:00
{ fetchFromGitHub, libGLU, llvmPackages, qtbase, qtscript, qtxmlpatterns }:
2017-12-04 13:59:25 +00:00
let
2018-08-14 09:50:28 +01:00
meshlabRev = "d596d7c086c51fbdfb56050f9c30b55dd0286d4c";
vcglibRev = "6c3c940e34327322507c703889f9f1cfa73ab183";
# ^ this should be the latest commit in the vcglib devel branch at the time of the meshlab revision
stdenv = llvmPackages.stdenv; # only building with clang seems to be tested upstream
2017-12-04 13:59:25 +00:00
in stdenv.mkDerivation {
2018-08-14 09:50:28 +01:00
name = "meshlab-20180627-beta";
2017-12-04 13:59:25 +00:00
srcs =
[
(fetchFromGitHub {
owner = "cnr-isti-vclab";
repo = "meshlab";
rev = meshlabRev;
2018-08-14 09:50:28 +01:00
sha256 = "0xi7wiyy0yi545l5qvccbqahlcsf70mhx829gf7bq29640si4rax";
2017-12-04 13:59:25 +00:00
name = "meshlab-${meshlabRev}";
})
(fetchFromGitHub {
owner = "cnr-isti-vclab";
repo = "vcglib";
rev = vcglibRev;
2018-08-14 09:50:28 +01:00
sha256 = "0jfgjvf21y9ncmyr7caipy3ardhig7hh9z8miy885c99b925hhwd";
2017-12-04 13:59:25 +00:00
name = "vcglib-${vcglibRev}";
})
];
2017-12-04 13:59:25 +00:00
sourceRoot = "meshlab-${meshlabRev}";
hardeningDisable = [ "format" ];
2017-12-04 13:59:25 +00:00
enableParallelBuilding = true;
2016-02-12 12:50:38 +00:00
2018-08-14 09:50:28 +01:00
patches = [ ./fix-20180627-beta.patch ];
buildPhase = ''
2017-12-04 13:59:25 +00:00
# MeshLab has ../vcglib hardcoded everywhere, so move the source dir
mv ../vcglib-${vcglibRev} ../vcglib
cd src
export NIX_LDFLAGS="-rpath $out/opt/meshlab $NIX_LDFLAGS"
2018-08-14 09:50:28 +01:00
export QMAKESPEC="linux-clang"
2017-12-04 13:59:25 +00:00
pushd external
qmake -recursive external.pro
2017-12-04 13:59:25 +00:00
buildPhase
popd
qmake -recursive meshlab_full.pro
2017-12-04 13:59:25 +00:00
buildPhase
'';
installPhase = ''
2017-12-04 13:59:25 +00:00
mkdir -p $out/opt/meshlab $out/bin
cp -Rv distrib/* $out/opt/meshlab
ln -s $out/opt/meshlab/meshlab $out/bin/meshlab
2017-12-04 13:59:25 +00:00
ln -s $out/opt/meshlab/meshlabserver $out/bin/meshlabserver
'';
2018-08-14 09:50:28 +01:00
buildInputs = [ libGLU llvmPackages.openmp qtbase qtscript qtxmlpatterns ];
meta = {
2017-12-04 13:59:25 +00:00
description = "A system for processing and editing 3D triangular meshes.";
homepage = http://www.meshlab.net/;
license = stdenv.lib.licenses.gpl3;
maintainers = with stdenv.lib.maintainers; [viric];
platforms = with stdenv.lib.platforms; linux;
};
}