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