1{ lib, stdenv, python, fetchFromGitHub, cmake, swig, opencascade, smesh, freetype, libGL, libGLU, libX11 2, Cocoa }: 3 4stdenv.mkDerivation rec { 5 pname = "pythonocc-core"; 6 version = "0.18.1"; 7 8 src = fetchFromGitHub { 9 owner = "tpaviot"; 10 repo = "pythonocc-core"; 11 rev = version; 12 sha256 = "1jk4y7f75z9lyawffpfkr50qw5452xzi1imcdlw9pdvf4i0y86k3"; 13 }; 14 15 postPatch = '' 16 substituteInPlace CMakeLists.txt \ 17 --replace "/usr/X11R6/lib/libGL.dylib" "${libGL}/lib/libGL.dylib" \ 18 --replace "/usr/X11R6/lib/libGLU.dylib" "${libGLU}/lib/libGLU.dylib" 19 ''; 20 21 nativeBuildInputs = [ cmake swig ]; 22 buildInputs = [ 23 python opencascade smesh 24 freetype libGL libGLU libX11 25 ] ++ lib.optionals stdenv.isDarwin [ Cocoa ]; 26 27 cmakeFlags = [ 28 "-Wno-dev" 29 "-DPYTHONOCC_INSTALL_DIRECTORY=${placeholder "out"}/${python.sitePackages}/OCC" 30 31 "-DSMESH_INCLUDE_PATH=${smesh}/include/smesh" 32 "-DSMESH_LIB_PATH=${smesh}/lib" 33 "-DPYTHONOCC_WRAP_SMESH=TRUE" 34 ]; 35 36 meta = with lib; { 37 description = "Python wrapper for the OpenCASCADE 3D modeling kernel"; 38 homepage = "https://github.com/tpaviot/pythonocc-core"; 39 license = licenses.lgpl3; 40 platforms = platforms.unix; 41 maintainers = with maintainers; [ gebner ]; 42 }; 43}