1{ 2 lib, 3 stdenv, 4 buildPythonPackage, 5 fetchFromGitHub, 6 gcc10, 7 cmake, 8 boost179, 9 icu, 10 swig, 11 pcre, 12 opencascade-occt_7_6, 13 opencollada, 14 libxml2, 15}: 16let 17 opencascade-occt = opencascade-occt_7_6; 18in 19buildPythonPackage rec { 20 pname = "ifcopenshell"; 21 version = "240306"; 22 format = "other"; 23 24 src = fetchFromGitHub { 25 owner = "IfcOpenShell"; 26 repo = "IfcOpenShell"; 27 rev = "refs/tags/blenderbim-${version}"; 28 fetchSubmodules = true; 29 sha256 = "sha256-DtA8KeWipPfOnztKG/lrgLZeOCUG3nWR9oW7OST7koc="; 30 }; 31 32 nativeBuildInputs = [ 33 gcc10 34 cmake 35 ]; 36 37 buildInputs = [ 38 boost179 39 icu 40 pcre 41 libxml2 42 ]; 43 44 preConfigure = '' 45 cd cmake 46 ''; 47 48 PYTHONUSERBASE = "."; 49 cmakeFlags = [ 50 "-DUSERSPACE_PYTHON_PREFIX=ON" 51 "-DOCC_INCLUDE_DIR=${opencascade-occt}/include/opencascade" 52 "-DOCC_LIBRARY_DIR=${opencascade-occt}/lib" 53 "-DOPENCOLLADA_INCLUDE_DIR=${opencollada}/include/opencollada" 54 "-DOPENCOLLADA_LIBRARY_DIR=${opencollada}/lib/opencollada" 55 "-DSWIG_EXECUTABLE=${swig}/bin/swig" 56 "-DLIBXML2_INCLUDE_DIR=${libxml2.dev}/include/libxml2" 57 "-DLIBXML2_LIBRARIES=${libxml2.out}/lib/libxml2${stdenv.hostPlatform.extensions.sharedLibrary}" 58 ]; 59 60 meta = with lib; { 61 broken = stdenv.isDarwin; 62 description = "Open source IFC library and geometry engine"; 63 homepage = "http://ifcopenshell.org/"; 64 license = licenses.lgpl3; 65 maintainers = with maintainers; [ fehnomenal ]; 66 }; 67}