{ stdenv, fetchurl, cmake, coin3d, xercesc, ode, eigen, qt4, opencascade, gts , boost, zlib, python, swig, gfortran, soqt, libf2c, makeWrapper , matplotlib, pycollada, pyside, pysideTools, pysideShiboken, pivy }: stdenv.mkDerivation rec { name = "freecad-${version}"; version = "0.16"; src = fetchurl { url = "https://github.com/FreeCAD/FreeCAD/archive/${version}.tar.gz"; sha256 = "02cfw5wlb04j0ymhk4skrm7rvbz13hpv995asf9v8q6wn2s1mivc"; }; buildInputs = [ cmake coin3d xercesc ode eigen qt4 opencascade gts boost zlib python swig gfortran soqt libf2c makeWrapper matplotlib pycollada pyside pysideShiboken pysideTools pivy ]; enableParallelBuilding = true; # This should work on both x86_64, and i686 linux preBuild = '' export NIX_LDFLAGS="-L${gfortran.cc}/lib64 -L${gfortran.cc}/lib $NIX_LDFLAGS"; ''; # Their main() removes PYTHONPATH=, and we rely on it. preConfigure = '' sed '/putenv("PYTHONPATH/d' -i src/Main/MainGui.cpp ''; postInstall = '' wrapProgram $out/bin/FreeCAD --prefix PYTHONPATH : $PYTHONPATH \ --set COIN_GL_NO_CURRENT_CONTEXT_CHECK 1 ''; meta = with stdenv.lib; { description = "General purpose Open Source 3D CAD/MCAD/CAx/CAE/PLM modeler"; homepage = http://www.freecadweb.org/; license = licenses.lgpl2Plus; maintainers = [ maintainers.viric ]; platforms = platforms.linux; }; }