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